perm filename DRAFT.XGP[AIM,DBL]1 blob sn#124713 filedate 1974-10-17 generic text, type T, neo UTF8
/LMAR=0/FONT#0=FIX25/FONT#1=SIGN57/FONT#2=SHD40/FONT#3=BDI25/FONT#4=NGR20/FONT#5=SGN114/FONT#6=FIX20



␈↓ ↓H␈↓␈α?␈α?␈α
␈↓¬   BEINGS:␈↓

␈↓ ↓H␈↓␈α∀␈↓↓REPRESENTATION OF KNOWLEDGE
␈↓ ↓H␈↓↓␈α?␈α?␈α0AS INTERACTING MODULES


␈↓ ↓H␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α~␈↓βApplied to Automatic Program Synthesis␈↓











␈↓ ↓H␈↓Fourth Draft: NOT FOR DISTRIBUTION











␈↓ ↓H␈↓␈↓αDOUG LENAT

␈↓ ↓H␈↓αSTANFORD UNIVERSITY

␈↓ ↓H␈↓αARTIFICIAL INTELLIGENCE LABORATORY␈↓














␈↓ ↓H␈↓␈↓↓TABLE OF CONTENTS␈↓










␈↓ ↓H␈↓    1.  Abstract  . . . . . . . . . . . . . . . .  1
␈↓ ↓H␈↓    2.  Introduction  . . . . . . . . . . . . . .  2
␈↓ ↓H␈↓    3.  Theory:   Ideas . . . . . . . . . . . . .  3
␈↓ ↓H␈↓    4.  Reality:  Examples  . . . . . . . . . . .  9
␈↓ ↓H␈↓    5.  Theory:   Design. . . . . . . . . . . . . 14
␈↓ ↓H␈↓    6.  Reality:  Examples  . . . . . . . . . . . 18
␈↓ ↓H␈↓    7.  Reality:  Results . . . . . . . . . . . . 21
␈↓ ↓H␈↓    8.  Theory:   Conclusions . . . . . . . . . . 25
␈↓ ↓H␈↓    9.  Acknowledgements  . . . . . . . . . . . . 29
␈↓ ↓H␈↓        Appendix 1: BEING parts . . . . . . . . . A1.1
␈↓ ↓H␈↓        Appendix 2: the BEINGs  . . . . . . . . . A2.1
␈↓ ↓H␈↓        Appendix 3: BEING usage . . . . . . . . . A3.1
␈↓ ↓H␈↓        Appendix 4: CF  program . . . . . . . . . A4.1
␈↓ ↓H␈↓        Appendix 5: the dialogue creating CF  . . A5.1
␈↓ ↓H␈↓        Appendix 6: trial running of CF . . . . . A6.1
␈↓ ↓H␈↓        Bibliography  . . . . . . . . . . . . . . BIB.1
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓













␈↓ ↓H␈↓␈↓↓1. ABSTRACT␈↓











␈↓ ↓H␈↓Knowledge␈α∃may␈α∃be␈α∃organized␈α∃as␈α∀a␈α∃community␈α∃of␈α∃interacting␈α∃modules␈α∀(e.g.,
␈↓ ↓H␈↓ACTORS␈α∩[Hewitt]),␈α⊃in␈α∩which␈α∩control␈α⊃also␈α∩resides.␈α⊃ By␈α∩granting␈α∩each␈α⊃module
␈↓ ↓H␈↓a␈α⊂complex␈α⊂structure,␈α⊂yet␈α⊂constraining␈α⊂that␈α⊂that␈α⊂structure␈α⊂be␈α⊂standard␈α⊂over
␈↓ ↓H␈↓all␈α⊂the␈α⊂modules,␈α⊂some␈α⊂new␈α⊂theoretical␈α⊂and␈α⊂experimental␈α⊂results␈α⊂were␈α⊂found.
␈↓ ↓H␈↓The␈α⊂domain␈α⊂of␈α⊂this␈α⊂research␈α⊂was␈α⊂heuristic␈α⊂automatic␈α⊂synthesis␈α⊂of␈α⊂inductive
␈↓ ↓H␈↓inference␈α⊂LISP␈α⊂programs.␈α⊂ Since␈α⊂these␈α⊂modules,␈α⊂called␈α⊂BEINGs,␈α⊂are␈α⊂the␈α⊂only
␈↓ ↓H␈↓entities␈α⊂permitted␈α⊂to␈α⊂exist␈α⊂theoretically,␈α⊂the␈α⊂generated␈α⊂code␈α⊂must␈α⊂also␈α⊂be
␈↓ ↓H␈↓a␈α_community␈α_of␈α_BEINGs.␈α_ Like␈α_the␈α_original␈α_pool,␈α_they␈α_must␈α_be␈α_able␈α_to
␈↓ ↓H␈↓answer␈α⊂questions␈α⊂about␈α⊂themselves␈α⊂as␈α⊂they␈α⊂run.␈α⊂ An␈α⊂experimental␈α⊂system␈α⊂was
␈↓ ↓H␈↓partially␈α⊂implemented.␈α⊂ It␈α⊂synthesized␈α⊂a␈α⊂few␈α⊂programs␈α⊂from␈α⊂very␈α⊂restricted
␈↓ ↓H␈↓dialogues.␈α⊗ Some␈α⊗unexpected␈α⊗problems␈α⊗were␈α⊗encountered,␈α⊗and␈α⊗some␈α⊗aspects
␈↓ ↓H␈↓which␈α∀were␈α∃considered␈α∀ignorable␈α∀seem␈α∃not␈α∀to␈α∀be.␈α∃ The␈α∀performance␈α∃of␈α∀the
␈↓ ↓H␈↓system is discussed, and a preliminary view of BEINGs assessed.













␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α#page 1␈↓ 
h
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓␈↓↓2. INTRODUCTION␈↓

␈↓ ↓H␈↓This␈α≠paper␈α≠reports␈α~on␈α≠a␈α≠scheme␈α~for␈α≠representing␈α≠knowledge,␈α~partially
␈↓ ↓H␈↓realized␈α≡in␈α≡an␈α≡experimental␈α∨system␈α≡(PUP6)␈α≡aimed␈α≡at␈α∨generating␈α≡LISP
␈↓ ↓H␈↓programs␈α≠from␈α≠dialogues␈α≠with␈α≤the␈α≠user.␈α≠The␈α≠methods␈α≠employed␈α≤are␈α≠not
␈↓ ↓H␈↓formal,␈α_but␈α_rather␈α_involve␈α_structuring␈α_of␈α_knowledge␈α_about␈α_programming,
␈↓ ↓H␈↓about␈α∪the␈α∪task␈α∩domain,␈α∪and␈α∪about␈α∩transfer␈α∪of␈α∪control.␈α∩ To␈α∪date,␈α∪PUP6␈α∩has
␈↓ ↓H␈↓synthesized␈α≡three␈α≡significantly␈α≥different␈α≡target␈α≡programs:␈α≡a␈α≥concept
␈↓ ↓H␈↓formation␈α⊂program␈α⊂(similar␈α⊂to␈α⊂[Winston]),␈α⊂a␈α⊂grammatical␈α⊂inference␈α⊂program,
␈↓ ↓H␈↓and␈α⊗a␈α↔simple␈α⊗information␈α↔storage␈α⊗and␈α⊗retrieval␈α↔system␈α⊗(referred␈α↔to␈α⊗as,
␈↓ ↓H␈↓respectively,␈α→CF,␈α→GI,␈α→and␈α→INF).␈α→ Specification␈α→is␈α→via␈α→rigid,␈α_extended
␈↓ ↓H␈↓dialogues␈α⊂carried␈α⊂on␈α⊂with␈α⊂the␈α⊂user,␈α⊂in␈α⊂a␈α⊂small␈α⊂subset␈α⊂of␈α⊂English,␈α⊂in␈α⊂which
␈↓ ↓H␈↓the␈α≤task␈α≥is␈α≤delineated␈α≥and␈α≤questionable␈α≥details␈α≤are␈α≥discussed.␈α≤ The
␈↓ ↓H␈↓specification␈α⊗is␈α⊗partial,␈α⊗and␈α⊗the␈α⊗system␈α⊗makes␈α⊗assumptions␈α⊗continually.
␈↓ ↓H␈↓This␈α_is␈α_what␈α_is␈α_meant,␈α_in␈α_the␈α_sequel,␈α_by␈α_␈↓βAutomatic␈α_Programming.␈α_ Target
␈↓ ↓H␈↓βprogram␈↓␈α⊂will␈α⊃refer␈α⊂to␈α⊂code␈α⊃which␈α⊂has␈α⊂been␈α⊃successfully␈α⊂generated␈α⊂by␈α⊃such␈α⊂a
␈↓ ↓H␈↓system.␈α↔ ␈↓βDialogue␈↓␈α↔is␈α↔the␈α↔interactive␈α↔communication␈α↔between␈α↔the␈α↔user␈α⊗and
␈↓ ↓H␈↓the automatic programming system, which results in target code synthesis.

␈↓ ↓H␈↓The␈α⊗CF␈α↔target␈α⊗program␈α↔was␈α⊗cleanly␈α⊗specified,␈α↔an␈α⊗annotated␈α↔protocol␈α⊗was
␈↓ ↓H␈↓done,␈α⊗and␈α⊗the␈α⊗BEINGs␈α⊗needed␈α∃to␈α⊗reproduce␈α⊗the␈α⊗reasoning␈α⊗present␈α⊗in␈α∃that
␈↓ ↓H␈↓protocol␈α≠were␈α≠fasioned.␈α≠Additions␈α≤were␈α≠made␈α≠to␈α≠PUP6␈α≠before␈α≤it␈α≠could
␈↓ ↓H␈↓synthesize GI or INF.

␈↓ ↓H␈↓The␈α⊂main␈α⊂successes␈α⊂of␈α⊂the␈α⊂experiment␈α⊂were␈α⊂that␈α⊂the␈α⊂desired␈α⊂reasoning␈α⊂steps
␈↓ ↓H␈↓in␈α⊃the␈α∩original␈α⊃protocol␈α∩were␈α⊃actually␈α∩simulated,␈α⊃most␈α∩of␈α⊃the␈α∩BEINGs␈α⊃were
␈↓ ↓H␈↓used␈α∀in␈α∀writing␈α∀more␈α∀than␈α∀one␈α∀of␈α∀the␈α∀programs,␈α∀and␈α∀the␈α∀synthesized␈α∀code
␈↓ ↓H␈↓could␈α⊂be␈α⊂interrupted␈α⊂and␈α⊂asked␈α⊂a␈α⊂few␈α⊂kinds␈α⊂of␈α⊂questions.␈α⊂ The␈α⊂main␈α⊂defects
␈↓ ↓H␈↓were␈α∪the␈α∪inflexibility␈α∪of␈α∪the␈α∪system␈α∪to␈α∪new␈α∪dialogues,␈α∪the␈α∪inability␈α∩for
␈↓ ↓H␈↓the␈α≤user␈α≥to␈α≤add␈α≥new,␈α≤high-level,␈α≥domain-specific␈α≤knowledge,␈α≥and␈α≤the
␈↓ ↓H␈↓verbosity␈α~of␈α~the␈α~system.␈α~ Some␈α≠of␈α~these␈α~problems␈α~may␈α~arise␈α≠from␈α~the
␈↓ ↓H␈↓annotated␈α⊂protocol␈α⊂technique␈α⊂employed␈α⊂to␈α⊂get␈α⊂the␈α⊂BEINGs␈α⊂initially,␈α⊂and␈α⊂not
␈↓ ↓H␈↓from anything inherent to the BEINGs representation.

␈↓ ↓H␈↓Our␈α⊗treatment␈α↔will␈α⊗follow␈α↔these␈α⊗lines:␈α⊗First,␈α↔the␈α⊗ideas␈α↔are␈α⊗presented,
␈↓ ↓H␈↓including␈α"a␈α"discussion␈α"of␈α!BEINGs.␈α" Examples␈α"are␈α"then␈α"provided␈α!to
␈↓ ↓H␈↓illustrate␈α∩these␈α∩concepts.␈α∩The␈α∩next␈α∩section␈α∩describes␈α∩the␈α∩implementation,
␈↓ ↓H␈↓and␈α≥explains␈α≥the␈α≥choice␈α≥of␈α≤targets.␈α≥ Only␈α≥then␈α≥will␈α≥performance␈α≤be
␈↓ ↓H␈↓evaluated.␈α∃ From␈α⊗the␈α∃experience␈α∃with␈α⊗PUP6␈α∃are␈α∃drawn␈α⊗several␈α∃preliminary
␈↓ ↓H␈↓conclusions␈α∩about␈α⊃both␈α∩the␈α∩utility␈α⊃of␈α∩the␈α⊃BEINGs␈α∩representation␈α∩and␈α⊃about
␈↓ ↓H␈↓problems relevant to Automatic Programming.

␈↓ ↓H␈↓The␈α~appendices␈α~present␈α~further␈α~details,␈α~samples,␈α~and␈α~examples.␈α~ First
␈↓ ↓H␈↓comes␈α∀a␈α∀description␈α∀of␈α∀each␈α∀BEING␈α∀part,␈α∀then␈α∀a␈α∀summary␈α∀of␈α∀the␈α∀knowledge
␈↓ ↓H␈↓contained␈α⊃in␈α⊃each␈α⊃BEING.␈α∩ Appendix␈α⊃3␈α⊃is␈α⊃a␈α∩table␈α⊃of␈α⊃data␈α⊃recording␈α∩how␈α⊃the
␈↓ ↓H␈↓BEING␈α∩community␈α∩interacts.␈α∩The␈α⊃final␈α∩appendices␈α∩present␈α∩excerpts␈α∩from␈α⊃the
␈↓ ↓H␈↓CF program, from PUP6 synthesizing CF, and from CF itself running.


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α!page 2␈↓ 
h
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓␈↓↓3. THEORY: IDEAS␈↓

␈↓ ↓H␈↓How␈α⊂should␈α⊂knowledge␈α⊂be␈α⊂represented?␈α⊂ Many␈α⊂researchers␈α⊂feel␈α⊂that␈α⊂a␈α⊂simple,
␈↓ ↓H␈↓uniform␈α∩formalism␈α⊃should␈α∩be␈α∩used␈α⊃for␈α∩all␈α⊃facts;␈α∩others␈α∩disagree,␈α⊃claiming
␈↓ ↓H␈↓that␈α≠complexity␈α≠of␈α~behavior␈α≠both␈α≠justifies␈α~and␈α≠demands␈α≠complexity␈α~of
␈↓ ↓H␈↓representation.␈α≡ The␈α≡BEINGs␈α≡concept␈α≡may␈α≡resolve␈α≡this␈α≡uniformity␈α≡vs.
␈↓ ↓H␈↓structure␈α≥controversy;␈α≥at␈α≥the␈α≥least,␈α≤it␈α≥is␈α≥a␈α≥compromise.␈α≥ One␈α≤must
␈↓ ↓H␈↓recognize␈α∃the␈α⊗advantages␈α∃of␈α∃each␈α⊗side,␈α∃and␈α∃refuse␈α⊗to␈α∃give␈α∃them␈α⊗up.␈α∃The
␈↓ ↓H␈↓benefits␈α⊗of␈α↔the␈α⊗former␈α↔include␈α⊗easy␈α⊗addition␈α↔of␈α⊗knowledge␈α↔[Newell]␈α⊗and
␈↓ ↓H␈↓simple,␈α⊂aesthetic␈α⊂methods␈α⊂for␈α⊂combining␈α⊂information␈α⊂[McCarthy].␈α⊂Structure,
␈↓ ↓H␈↓however,␈α≠is␈α≠necessary␈α≤for␈α≠(␈↓βcombinatorially␈↓)␈α≠efficient␈α≠handling␈α≤of␈α≠large
␈↓ ↓H␈↓amounts␈α∪of␈α∪data␈α∪[MIT].␈α∪ PUP6␈α∪integrates␈α∪these␈α∪two␈α∪ideas␈α∪into␈α∪the␈α∩concept
␈↓ ↓H␈↓of␈α≤BEINGs.␈α≤A␈α≤BEING␈α≤is␈α≤a␈α≤collection␈α≤of␈α≤about␈α≤thirty␈α≤little␈α≤bits␈α≤of
␈↓ ↓H␈↓INTERLISP␈α→[Teitelman]␈α→code;␈α→the␈α→answers␈α→to␈α→thirty␈α→questions␈α→about␈α_the
␈↓ ↓H␈↓BEING.␈α∪ That␈α∪is,␈α∩a␈α∪BEING␈α∪is␈α∩a␈α∪small,␈α∪loosely-knit␈α∩LISP␈α∪program,␈α∪which␈α∩is
␈↓ ↓H␈↓considered␈α→equivalent␈α→to␈α→its␈α→answers␈α→to␈α→these␈α→fixed␈α→questions.␈α_ Every
␈↓ ↓H␈↓scrap␈α⊃of␈α∩knowledge,␈α⊃every␈α∩bit␈α⊃of␈α∩control␈α⊃structure␈α∩should␈α⊃be␈α∩encoded␈α⊃into
␈↓ ↓H␈↓BEINGs.␈α∀There␈α∃should␈α∀be␈α∀nothing␈α∃else␈α∀in␈α∀the␈α∃system␈α∀but␈α∃this␈α∀interacting
␈↓ ↓H␈↓community.

␈↓ ↓H␈↓PUP6␈α⊗embodies␈α⊗only␈α⊗some␈α⊗of␈α∃the␈α⊗ideas␈α⊗and␈α⊗constraints␈α⊗discussed␈α⊗in␈α∃this
␈↓ ↓H␈↓section.␈α" For␈α"example,␈α"economy␈α"demanded␈α"some␈α"very␈α"fast␈α"auxilliary
␈↓ ↓H␈↓functions,␈α&demons,␈α&and␈α&pure␈α&data␈α&structures.␈α& These␈α&reduced␈α&the
␈↓ ↓H␈↓computation␈α~time␈α~by␈α~a␈α~constant␈α≠factor␈α~(about␈α~ten),␈α~by␈α~saving␈α≠on␈α~the
␈↓ ↓H␈↓overhead␈α∪implicit␈α∪in␈α∩each␈α∪call␈α∪to␈α∩a␈α∪BEING;␈α∪they␈α∩did␈α∪not␈α∪therefore␈α∩reduce
␈↓ ↓H␈↓the␈α↔␈↓βcombinatorial␈↓␈α↔effort␈α⊗involved.␈α↔This␈α↔will␈α⊗be␈α↔explained␈α↔in␈α↔the␈α⊗REALITY
␈↓ ↓H␈↓section,␈α↔along␈α↔with␈α_any␈α↔other␈α↔deviations␈α↔of␈α_PUP6␈α↔from␈α↔an␈α_ideal␈α↔BEINGs
␈↓ ↓H␈↓community.

␈↓ ↓H␈↓Notice␈α~that␈α→while␈α~each␈α~BEING␈α→is␈α~highly␈α→structured,␈α~this␈α~structure␈α→is
␈↓ ↓H␈↓standard␈α∪over␈α∪the␈α∩entire␈α∪pool.␈α∪Each␈α∩BEING␈α∪part␈α∪is␈α∩itself␈α∪a␈α∪little␈α∩BEING,
␈↓ ↓H␈↓etc.,␈α∀and␈α∀this␈α∀infinite␈α∀regress␈α∀stops␈α∀when␈α∀the␈α∀contents␈α∀of␈α∀a␈α∀BEING␈α∀part
␈↓ ↓H␈↓becomes␈α↔sufficiently␈α↔primitive.␈α↔As␈α↔will␈α↔be␈α↔discussed␈α↔later,␈α_the␈α↔BEINGs
␈↓ ↓H␈↓mimic␈α⊂a␈α⊂human␈α⊂programmer;␈α⊂whatever␈α⊂he␈α⊂considers␈α⊂primitive␈α⊂when␈α⊂writing␈α⊂the
␈↓ ↓H␈↓program,BEINGs␈α∩may␈α∩consider␈α∩primitive.␈α⊃ Typically␈α∩this␈α∩level␈α∩is␈α∩about␈α⊃the
␈↓ ↓H␈↓same␈α≠as␈α≠the␈α≠INTERLISP␈α≤[Teitelman]␈α≠language:␈α≠a␈α≠primitive␈α≠is␈α≤a␈α≠single
␈↓ ↓H␈↓INTERLISP␈α∪function␈α∪call,␈α∪or␈α∀a␈α∪few␈α∪simple␈α∪ones␈α∪connected␈α∀trivially.␈α∪ Each
␈↓ ↓H␈↓BEING␈α∀is␈α∀cognizant␈α∪of␈α∀the␈α∀set␈α∪of␈α∀thirty␈α∀questions,␈α∪in␈α∀the␈α∀sense␈α∀that␈α∪in
␈↓ ↓H␈↓answering␈α∪one␈α∪of␈α∩them␈α∪it␈α∪may␈α∩freely␈α∪ask␈α∪questions␈α∩of␈α∪other␈α∪BEINGs␈α∩(often
␈↓ ↓H␈↓through␈α∩nondeterministic␈α∩goal␈α∩statements.)␈α⊃A␈α∩few␈α∩of␈α∩the␈α∩BEING-PARTS␈α⊃might
␈↓ ↓H␈↓be:␈α⊃what␈α⊃is␈α⊃your␈α⊃basic␈α⊃idea␈α∩and␈α⊃purpose,␈α⊃what␈α⊃effects␈α⊃do␈α⊃you␈α⊃have,␈α∩how␈α⊃do
␈↓ ↓H␈↓you␈α↔go␈α↔about␈α⊗causing␈α↔them,␈α↔what␈α⊗must␈α↔be␈α↔ensured␈α⊗before␈α↔you␈α↔begin,␈α⊗how
␈↓ ↓H␈↓complicated␈α∀are␈α∃you,␈α∀what␈α∀is␈α∃your␈α∀chance␈α∀of␈α∃success,␈α∀are␈α∃you␈α∀recursive,
␈↓ ↓H␈↓whom␈α∪else␈α∪might␈α∪you␈α∪transfer␈α∪control␈α∪to,␈α∪what␈α∪alternatives␈α∪to␈α∪you␈α∩exist,
␈↓ ↓H␈↓what␈α∪BEINGs␈α∪are␈α∩a␈α∪little␈α∪more/less␈α∩general␈α∪than␈α∪you␈α∩are,␈α∪do␈α∪you␈α∩evaluate
␈↓ ↓H␈↓your␈α∃arguments,␈α∃what␈α∃is␈α∃the␈α∃nature␈α∃of␈α∃the␈α∃value␈α∃you␈α∃return,␈α∃why␈α∃do␈α∀you
␈↓ ↓H␈↓exist,␈α∩why␈α∩do␈α∩you␈α∩want␈α∩to␈α∩be␈α∪in␈α∩control␈α∩now,␈α∩etc.␈α∩The␈α∩reader␈α∩may␈α∪wish␈α∩to


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α!page 3␈↓ 	OTHEORY:  IDEAS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓glance␈α∀at␈α∀Appendix␈α∀1,␈α∀to␈α∀see␈α∀the␈α∀particular␈α∀set␈α∀of␈α∀questions␈α∀which␈α∀were
␈↓ ↓H␈↓actually␈α⊃settled␈α∩upon.␈α⊃ When␈α⊃he␈α∩feels␈α⊃the␈α⊃urge␈α∩for␈α⊃a␈α⊃concrete␈α∩example,␈α⊃he
␈↓ ↓H␈↓should glance over pages 8-11 and Appendices 4 and 5.

␈↓ ↓H␈↓The␈α→BEINGs␈α→control␈α_themselves␈α→in␈α→a␈α→simple␈α_way.␈α→A␈α→very␈α→general␈α_BEING,
␈↓ ↓H␈↓SERVE_THE_USER,␈α∃has␈α∀control␈α∃initially.␈α∀In␈α∃general,␈α∀some␈α∃BEING␈α∀␈↓βB␈↓␈α∃will␈α∀be
␈↓ ↓H␈↓in␈α∃control.␈α∃ Its␈α∃BEING␈α∃parts␈α∀are␈α∃assembled␈α∃into␈α∃an␈α∃executable␈α∀function,
␈↓ ↓H␈↓and␈α∪it␈α∪is␈α∪run.␈α∀ During␈α∪the␈α∪course␈α∪of␈α∪its␈α∀reign,␈α∪␈↓βB␈↓␈α∪will␈α∪want␈α∀things␈α∪done
␈↓ ↓H␈↓and/or␈α⊃tested␈α∩which␈α⊃it␈α∩cannot␈α⊃manage␈α∩by␈α⊃itself.␈α∩ This␈α⊃corresponds␈α∩to␈α⊃when
␈↓ ↓H␈↓a␈α∪normal␈α∪program␈α∪needs␈α∀to␈α∪call␈α∪a␈α∪subroutine.␈α∪ What␈α∀␈↓βB␈↓␈α∪does␈α∪is␈α∪to␈α∀call␈α∪on
␈↓ ↓H␈↓SATISFY␈α~by␈α→name,␈α~supplying␈α~a␈α→description␈α~of␈α→what␈α~is␈α~wanted.␈α→ SATISFY
␈↓ ↓H␈↓assembles␈α⊂itself,␈α⊂asks␈α⊂the␈α⊂entire␈α⊂BEING␈α⊂pool␈α⊂"who␈α⊂can␈α⊂do␈α⊂this␈α⊂thing?",␈α⊂and
␈↓ ↓H␈↓collects␈α⊂a␈α⊂list␈α⊂of␈α⊂the␈α⊂reponders.␈α⊂ SATISFY␈α⊂then␈α⊂calls␈α⊂CHOOSE_FROM␈α⊂by␈α⊂name,
␈↓ ↓H␈↓supplying␈α⊃this␈α∩list␈α⊃and␈α∩the␈α⊃original␈α∩request.␈α⊃Each␈α∩responder␈α⊃is␈α∩asked␈α⊃why
␈↓ ↓H␈↓he␈α∩should␈α∩be␈α∩allowed␈α∩to␈α∩go␈α∩now␈α∪(the␈α∩WHEN␈α∩part)␈α∩and␈α∩how␈α∩costly␈α∩he␈α∪will␈α∩be
␈↓ ↓H␈↓if␈α↔he␈α↔does␈α⊗go␈α↔(the␈α↔COMPLEXITY␈α⊗part.)␈α↔The␈α↔best␈α⊗responder␈α↔BEING␈α↔is␈α⊗then
␈↓ ↓H␈↓passed␈α⊃control.␈α∩If␈α⊃he␈α∩succeeds␈α⊃in␈α∩his␈α⊃mission,␈α∩SATISFY␈α⊃returns␈α∩control␈α⊃to
␈↓ ↓H␈↓␈↓βB␈↓.␈α~Otherwise␈α~the␈α~remaining␈α~responders␈α~are␈α~compared␈α~and␈α~a␈α~new␈α~one␈α→is
␈↓ ↓H␈↓tried.␈α∩If␈α∩they␈α∩all␈α∩fail,␈α∩then␈α∩SATISFY␈α⊃tells␈α∩␈↓βB␈↓␈α∩that␈α∩it␈α∩has␈α∩failed.␈α∩␈↓βB␈↓␈α⊃then
␈↓ ↓H␈↓decides␈α∀whether␈α∀to␈α∀try␈α∀something␈α∀else␈α∀or␈α∀to␈α∀fail␈α∀itself.␈α∀In␈α∀addition␈α∀to
␈↓ ↓H␈↓these␈α⊂goal␈α⊂statements,␈α⊂there␈α⊂exists␈α⊂a␈α⊂"world"␈α⊂consisting␈α⊂of␈α⊂assertions␈α⊂and
␈↓ ↓H␈↓variables␈α_with␈α_values.␈α_These␈α_are␈α_regarded␈α_as␈α_trivial␈α_cases␈α_of␈α_BEINGs,
␈↓ ↓H␈↓possessing␈α∪only␈α∀one␈α∪part.␈α∀ So␈α∪␈↓βB␈↓␈α∀may␈α∪also␈α∀query␈α∪this␈α∀data␈α∪base␈α∀by␈α∪saying
␈↓ ↓H␈↓"what␈α→assertions␈α→match␈α_this␈α→one...",␈α→or␈α→by␈α_asking␈α→"what␈α→is␈α→the␈α_value
␈↓ ↓H␈↓of...".␈α∪ These␈α∪actions␈α∪can␈α∪be␈α∪programmed␈α∪in␈α∪a␈α∪much␈α∪more␈α∪efficient␈α∩manner
␈↓ ↓H␈↓than as BEINGs.

␈↓ ↓H␈↓Theory␈α≠would␈α≠indicate␈α≠that␈α≤BEINGs␈α≠must␈α≠be␈α≠assembled␈α≠by␈α≤other␈α≠BEINGs
␈↓ ↓H␈↓dynamically.␈α⊃In␈α∩practice,␈α⊃the␈α∩way␈α⊃a␈α∩BEING's␈α⊃parts␈α∩fit␈α⊃together␈α∩is␈α⊃uniform
␈↓ ↓H␈↓over␈α∪all␈α∪the␈α∩BEINGs␈α∪at␈α∪all␈α∩times.␈α∪Thus␈α∪one␈α∩simple␈α∪function␈α∪(or␈α∩assembled
␈↓ ↓H␈↓BEING)␈α⊗can␈α↔assemble␈α⊗all␈α↔the␈α⊗BEINGs␈α⊗initially␈α↔into␈α⊗LISP␈α↔functions.␈α⊗ The
␈↓ ↓H␈↓precise algorithm for doing this is discussed in the next section.

␈↓ ↓H␈↓BEINGs␈α⊗are␈α↔the␈α⊗only␈α↔entities␈α⊗permitted␈α⊗(theoretically)␈α↔to␈α⊗exist␈α↔in␈α⊗our
␈↓ ↓H␈↓system;␈α∩ergo␈α∪all␈α∩our␈α∪code␈α∩must␈α∪be␈α∩written␈α∪as␈α∩BEINGs,␈α∪and␈α∩must␈α∪be␈α∩written
␈↓ ↓H␈↓by BEINGs.

␈↓ ↓H␈↓An␈α∃obvious␈α∀but␈α∃crucial␈α∀consequence␈α∃is␈α∀that␈α∃␈↓βsome␈↓␈α∀BEING(s)␈α∃must␈α∃write␈α∀new
␈↓ ↓H␈↓BEINGs.␈α⊗ The␈α⊗idea␈α⊗is␈α∃that␈α⊗the␈α⊗BEING␈α⊗who␈α∃knows␈α⊗about␈α⊗␈↓βX␈↓␈α⊗takes␈α⊗charge␈α∃of
␈↓ ↓H␈↓generating␈α∃BEINGs␈α⊗relating␈α∃to␈α∃␈↓βX␈↓.␈α⊗ For␈α∃example,␈α∃the␈α⊗INSERT␈α∃BEING␈α⊗can␈α∃do
␈↓ ↓H␈↓inserting␈α∨by␈α∨one␈α≡of␈α∨a␈α∨few␈α≡algorithms,␈α∨and␈α∨he␈α≡can␈α∨also␈α∨write␈α≡(by
␈↓ ↓H␈↓specializing␈α↔himself)␈α↔more␈α↔specific␈α↔insert␈α↔routines,␈α↔and␈α↔he␈α_can␈α↔answer
␈↓ ↓H␈↓questions␈α⊗about␈α↔inserting.␈α⊗This␈α↔idea␈α⊗is␈α⊗analogous␈α↔to␈α⊗any␈α↔reliance␈α⊗upon
␈↓ ↓H␈↓experts␈α≠(e.g.,␈α≠[Feigenbaum]),␈α~and␈α≠also␈α≠reemphasizes␈α~the␈α≠theme␈α≠of␈α~any
␈↓ ↓H␈↓modular representation of knowledge.

␈↓ ↓H␈↓A␈α∃second␈α∃consequence␈α∃is␈α∃that␈α∃the␈α∀output␈α∃code␈α∃will␈α∃have␈α∃all␈α∃the␈α∃␈↓βtypes␈↓␈α∀of


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α!page 4␈↓ 	OTHEORY:  IDEAS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓"intelligence"␈α∃that␈α∃any␈α∃BEING␈α∃community␈α∀has:␈α∃it␈α∃can␈α∃write␈α∃variations␈α∀of
␈↓ ↓H␈↓itself,␈α≠modify␈α≠itself␈α~according␈α≠to␈α≠the␈α~user's␈α≠complaints,␈α≠and␈α~answer
␈↓ ↓H␈↓questions␈α⊂about␈α⊂what␈α⊂it␈α⊂is␈α⊂doing␈α⊂as␈α⊂it␈α⊂runs.␈α⊂ The␈α⊂specialized␈α⊂code␈α⊂cannot,
␈↓ ↓H␈↓of␈α⊂course,␈α⊂write␈α⊂the␈α⊂full␈α⊂complement␈α⊂of␈α⊂programs␈α⊂the␈α⊂original␈α⊂system␈α⊂could
␈↓ ↓H␈↓write.

␈↓ ↓H␈↓In␈α⊗a␈α∃similar␈α⊗vein,␈α∃␈↓βsome␈↓␈α⊗BEING(s)␈α∃must␈α⊗do␈α∃the␈α⊗translation␈α∃of␈α⊗the␈α∃users'
␈↓ ↓H␈↓quasi-English␈α⊃inputs␈α⊃into␈α⊃BEING-usable␈α⊃form.␈α⊃␈↓&Each␈↓'β␈α⊃BEING␈α⊃␈↓βX␈↓␈α⊃is␈α∩charged␈α⊃with
␈↓ ↓H␈↓recognizing␈α∪English␈α∪related␈α∪to␈α∪␈↓βX␈↓.␈α∪ Thus␈α∪translation␈α∪consists␈α∪of␈α∪querying
␈↓ ↓H␈↓"who␈α→can␈α→recognize␈α_..."␈α→and␈α→waiting␈α→for␈α_a␈α→response.␈α→For␈α→example,␈α_our
␈↓ ↓H␈↓INSERT␈α∩BEING␈α∩must␈α∩also␈α⊃recognize␈α∩and␈α∩process␈α∩phrases␈α∩involving␈α⊃inserting,
␈↓ ↓H␈↓stack-pushing, and merging.

␈↓ ↓H␈↓A␈α↔result␈α↔of␈α_this␈α↔treatment␈α↔of␈α↔natural␈α_language␈α↔processing␈α↔is␈α_that␈α↔any
␈↓ ↓H␈↓phrase␈α∃which␈α⊗can␈α∃be␈α∃translated␈α⊗can␈α∃be␈α∃acted␈α⊗upon,␈α∃and␈α∃any␈α⊗phrase␈α∃which
␈↓ ↓H␈↓can't␈α⊂be␈α⊃translated␈α⊂probably␈α⊂␈↓βcan't␈↓␈α⊃be␈α⊂acted␈α⊂upon␈α⊃(even␈α⊂if␈α⊂it␈α⊃is␈α⊂rephrased).
␈↓ ↓H␈↓Since␈α~patterns␈α~are␈α~used,␈α~if␈α≠the␈α~global␈α~structure␈α~of␈α~the␈α≠sentence␈α~is
␈↓ ↓H␈↓recognized,␈α∃then␈α⊗the␈α∃user␈α∃need␈α⊗only␈α∃be␈α∃asked␈α⊗to␈α∃clear␈α∃up␈α⊗the␈α∃difficult
␈↓ ↓H␈↓sub-parts.

␈↓ ↓H␈↓Three␈α_constraints␈α_are␈α_present␈α_which␈α_reflect␈α_new␈α_biasses␈α_more␈α_than␈α_new
␈↓ ↓H␈↓insights:␈α≠one␈α≠need␈α~not␈α≠feel␈α≠any␈α~reverence␈α≠toward␈α≠the␈α~anthropomorphic
␈↓ ↓H␈↓paradigm␈α∀of␈α∪programming␈α∀(ignore␈α∪details,␈α∀catch␈α∪them␈α∀later␈α∀by␈α∪debugging).
␈↓ ↓H␈↓Programming␈α⊃decisions␈α∩continually␈α⊃crop␈α∩up␈α⊃which␈α∩the␈α⊃system␈α∩is␈α⊃not␈α∩able␈α⊃to
␈↓ ↓H␈↓resolve␈α∪at␈α∪the␈α∪time.␈α∪The␈α∪BEINGs␈α∪system␈α∪should␈α∪always␈α∪spend␈α∪a␈α∩significant
␈↓ ↓H␈↓effort␈α↔deferring␈α↔the␈α_decision␈α↔as␈α↔long␈α↔as␈α_possible.␈α↔ When,␈α↔at␈α_last,␈α↔no
␈↓ ↓H␈↓progress␈α∀can␈α∀be␈α∀made␈α∀without␈α∀its␈α∀resolution,␈α∀and␈α∀if␈α∀the␈α∀system␈α∀is␈α∀still
␈↓ ↓H␈↓unsure,␈α↔then␈α↔either␈α_the␈α↔user␈α↔settles␈α↔the␈α_question␈α↔or␈α↔else␈α_a␈α↔backtrack
␈↓ ↓H␈↓point␈α is␈α reluctantly␈α set␈α up.␈α  But␈α often,␈α by␈α this␈α time,␈α some␈α new
␈↓ ↓H␈↓information␈α∪is␈α∪present␈α∪which␈α∀enables␈α∪the␈α∪system␈α∪to␈α∪resolve␈α∀the␈α∪decision,
␈↓ ↓H␈↓thus␈α~reducing␈α~the␈α~amount␈α~of␈α≠backtracking.␈α~ If␈α~there␈α~are␈α~two␈α≠or␈α~more
␈↓ ↓H␈↓decisions␈α∀which␈α∃can␈α∀no␈α∀longer␈α∃be␈α∀deferred,␈α∀the␈α∃system␈α∀tackles␈α∃first␈α∀the
␈↓ ↓H␈↓one estimated to be the easiest (Occam's razor).

␈↓ ↓H␈↓The␈α∩final␈α∪bit␈α∩of␈α∪philosophy␈α∩is␈α∪that␈α∩most␈α∪of␈α∩the␈α∪carelessness␈α∩bugs␈α∪can␈α∩be
␈↓ ↓H␈↓eliminated␈α∀through␈α∀this␈α∀deferral,␈α∀feed-forward,␈α∀and␈α∀very␈α∀precise␈α∀record-
␈↓ ↓H␈↓keeping.␈α& Humans␈α&depend␈α&on␈α&their␈α&adaptability␈α&to␈α&compensate␈α&for
␈↓ ↓H␈↓limitations␈α⊂in␈α⊂their␈α⊂brain␈α⊂hardware␈α⊂(long␈α⊂write␈α⊂times␈α⊂for␈α⊂long-term␈α⊂memory
␈↓ ↓H␈↓and␈α⊂external␈α⊂memory,␈α⊂and␈α⊂limited␈α⊂short-term␈α⊂memory␈α⊂size␈α⊂force␈α⊂us␈α⊂to␈α⊂ignore
␈↓ ↓H␈↓details;␈α∃see␈α∀[Newell])␈α∃but␈α∀there␈α∃is␈α∀no␈α∃need␈α∀for␈α∃an␈α∃␈↓βautomatic␈↓␈α∀programming
␈↓ ↓H␈↓system␈α⊂to␈α⊂do␈α⊂so.␈α⊂ For␈α⊂example,␈α⊂when␈α⊂a␈α⊂list␈α⊂structure␈α⊂is␈α⊂first␈α⊂encountered,
␈↓ ↓H␈↓the␈α⊂system␈α⊂records␈α⊂warnings␈α⊂that␈α⊂it␈α⊂is␈α⊂undefined,␈α⊂no␈α⊂accesses,␈α⊂insertions,
␈↓ ↓H␈↓or␈α⊃deletions␈α∩have␈α⊃been␈α⊃observed,␈α∩and␈α⊃so␈α⊃on.␈α∩ Each␈α⊃such␈α⊃worry␈α∩is␈α⊃weighted,
␈↓ ↓H␈↓and␈α⊂periodically␈α⊂the␈α⊂system␈α⊂resolves␈α⊂such␈α⊂warning␈α⊂notes␈α⊂--␈α⊂especially␈α⊂near
␈↓ ↓H␈↓the completion of the target program.

␈↓ ↓H␈↓The␈α∃BEINGs␈α∀representation␈α∃is␈α∃suitable␈α∀for␈α∃simulating␈α∀any␈α∃complex␈α∃task␈α∀␈↓βT␈↓


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α!page 5␈↓ 	OTHEORY:  IDEAS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓involving␈α∩frequent␈α∩small␈α∩interventions␈α⊃by␈α∩various␈α∩experts.␈α∩In␈α∩addition␈α⊃to
␈↓ ↓H␈↓writing␈α_programs,␈α_this␈α_activity␈α_could␈α_be␈α_as␈α_diverse␈α_as␈α_playing␈α_chess,
␈↓ ↓H␈↓running␈α%a␈α$business,␈α%simulating␈α$physical␈α%interactions,␈α%and␈α$playing
␈↓ ↓H␈↓volleyball.␈α⊗ For␈α↔the␈α⊗latter␈α↔task,␈α⊗a␈α⊗BEINGs-based␈α↔system␈α⊗might␈α↔create␈α⊗a
␈↓ ↓H␈↓specialized␈α≤BEING␈α≥for␈α≤each␈α≥player,␈α≤perhaps␈α≥with␈α≤a␈α≥complexity␈α≤vector
␈↓ ↓H␈↓indicating␈α∃his␈α∃abilities,␈α∃reflexes,␈α∃etc.␈α∀ The␈α∃BEING␈α∃in␈α∃control␈α∃would␈α∀be
␈↓ ↓H␈↓the␈α∩player␈α⊃hitting␈α∩the␈α∩ball.␈α⊃A␈α∩specialized␈α⊃Choose-from␈α∩BEING␈α∩would␈α⊃decide
␈↓ ↓H␈↓who␈α∃goes␈α∃next,␈α∃occasionally␈α∃interpreting␈α∀a␈α∃tie␈α∃between␈α∃BEINGs␈α∃vying␈α∀for
␈↓ ↓H␈↓control as a collision on the court.

␈↓ ↓H␈↓There␈α⊂is␈α⊂one␈α⊂particular␈α⊂bias␈α⊂of␈α⊂BEINGs␈α⊂toward␈α⊂writing␈α⊂high-level␈α⊂programs,
␈↓ ↓H␈↓over␈α∀other␈α∃activities.␈α∀The␈α∀new␈α∃BEINGs␈α∀created␈α∀during␈α∃the␈α∀execution␈α∃of␈α∀a
␈↓ ↓H␈↓specified␈α⊃task␈α∩are␈α⊃kept␈α⊃distinct␈α∩from␈α⊃the␈α⊃original␈α∩set␈α⊃of␈α⊃BEINGs.␈α∩ Then␈α⊃a
␈↓ ↓H␈↓␈↓βprogram␈↓␈α∃for␈α∃task␈α∃␈↓βT␈↓␈α∃is␈α∃accomplished␈α∃by␈α∃doing␈α∃␈↓βT␈↓␈α∃and␈α∃then␈α∃dumping␈α∃the␈α∀new
␈↓ ↓H␈↓BEINGs␈α⊂out␈α⊂onto␈α⊂a␈α⊂new␈α⊂file.␈α⊂ The␈α⊂entire␈α⊂old␈α⊂BEINGs␈α⊂pool␈α⊂is␈α⊂then␈α⊂treated␈α⊂as
␈↓ ↓H␈↓the␈α∪language␈α∪supporting␈α∪this␈α∀file.␈α∪As␈α∪a␈α∪corollary,␈α∪asking␈α∀a␈α∪BEINGs-based
␈↓ ↓H␈↓system to write any subset of itself is the null task!

␈↓ ↓H␈↓Most␈α programmers␈α intentionally␈α augment␈α their␈α code␈α to␈α aid␈α in␈α later
␈↓ ↓H␈↓debugging,␈α≡modification,␈α≡and␈α≡readability␈α≡by␈α≡humans.␈α≡ These␈α≡aids␈α≡are
␈↓ ↓H␈↓typically␈α comments,␈α summaries,␈α over-generalized␈α subroutines,␈α optional
␈↓ ↓H␈↓print␈α∃statements,␈α⊗and␈α∃runtime␈α∃statistics.␈α⊗ The␈α∃structure␈α∃of␈α⊗the␈α∃program
␈↓ ↓H␈↓itself␈α∪is␈α∪also␈α∪recognized␈α∀as␈α∪a␈α∪powerful␈α∪manipulable␈α∪element.␈α∀ The␈α∪length
␈↓ ↓H␈↓of␈α∩any␈α∩program␈α∩written␈α∩as␈α∩a␈α∩pool␈α∪of␈α∩BEINGs␈α∩is␈α∩several␈α∩times␈α∩as␈α∩long␈α∪as␈α∩a
␈↓ ↓H␈↓clean␈α∀hand-coded␈α∃version.␈α∀ This␈α∀extra␈α∃code,␈α∀the␈α∀parts␈α∃of␈α∀each␈α∃new␈α∀BEING
␈↓ ↓H␈↓which␈α⊂are␈α⊂superfluous,␈α⊂may␈α⊂be␈α⊂viewed␈α⊂as␈α⊂well-organized␈α⊂self-documentation.
␈↓ ↓H␈↓They␈α∩should␈α∩improve␈α∩the␈α⊃debugging,␈α∩expansion,␈α∩and␈α∩accessibility␈α∩(to␈α⊃alien
␈↓ ↓H␈↓users) of the synthesized code.

␈↓ ↓H␈↓Some␈α⊃assertions␈α∩are␈α⊃so␈α⊃meaningful␈α∩to␈α⊃the␈α⊃user,␈α∩that␈α⊃they␈α⊃should␈α∩be␈α⊃stored
␈↓ ↓H␈↓in␈α∪the␈α∪code␈α∪itself.␈α∀ At␈α∪any␈α∪time,␈α∪the␈α∪user␈α∀may␈α∪look␈α∪at␈α∪a␈α∪piece␈α∀of␈α∪code;
␈↓ ↓H␈↓the␈α∀comments␈α∀present␈α∀␈↓βthen␈↓␈α∀are␈α∀all␈α∀assertions␈α∀pertaining␈α∀to␈α∀that␈α∀piece␈α∪of
␈↓ ↓H␈↓code␈α∪at␈α∪that␈α∪time.␈α∪ BEINGS␈α∪may␈α∪use␈α∪comments␈α∪at␈α∪several␈α∪different␈α∩levels.
␈↓ ↓H␈↓At␈α⊗the␈α⊗lowest␈α⊗level,␈α⊗each␈α⊗comment␈α↔is␈α⊗merely␈α⊗a␈α⊗unique␈α⊗token;␈α⊗it␈α↔may␈α⊗be
␈↓ ↓H␈↓inserted,␈α∃removed,␈α⊗or␈α∃searched␈α∃for.␈α⊗ Slightly␈α∃better,␈α∃the␈α⊗BEINGs␈α∃system
␈↓ ↓H␈↓can␈α∀ask␈α∀"is␈α∀there␈α∀a␈α∀comment␈α∀involving␈α∀...".␈α∀Still␈α∀higher␈α∀level␈α∀usage␈α∀of
␈↓ ↓H␈↓comments␈α∀would␈α∀occur␈α∀if␈α∀a␈α∀BEING␈α∀looked␈α∀at␈α∀a␈α∀comment␈α∀totally␈α∀ignorant␈α∀of
␈↓ ↓H␈↓it, and TRANSLATEd it into something meaningful.

␈↓ ↓H␈↓When␈α∩imagining␈α⊃an␈α∩ideal␈α∩AP␈α⊃(automatic␈α∩programming)␈α⊃system,␈α∩one␈α∩ability␈α⊃we
␈↓ ↓H␈↓might␈α↔wish␈α↔for␈α⊗is␈α↔that␈α↔it␈α⊗be␈α↔able␈α↔to␈α⊗input␈α↔a␈α↔well-documented␈α⊗program,
␈↓ ↓H␈↓glean␈α⊂pure␈α⊂programming␈α⊂knowledge␈α⊂from␈α⊂it,␈α⊂and␈α⊂transform␈α⊂this␈α⊂into␈α⊂a␈α⊂format
␈↓ ↓H␈↓it␈α⊃can␈α⊃use.␈α⊃ Also,␈α∩to␈α⊃improve␈α⊃itself,␈α⊃it␈α∩should␈α⊃be␈α⊃capable␈α⊃of␈α∩digesting␈α⊃a
␈↓ ↓H␈↓sample,␈α⊂valid␈α⊂AP␈α⊂dialog,␈α⊂and␈α⊂(perhaps␈α⊂through␈α⊂additional␈α⊂user␈α⊂interaction)
␈↓ ↓H␈↓modify␈α⊃itself␈α∩so␈α⊃it␈α⊃could␈α∩actually␈α⊃carry␈α⊃on␈α∩that␈α⊃dialog.␈α⊃ The␈α∩BEINGs␈α⊃idea
␈↓ ↓H␈↓may be an insufficient framework for achieving this.



␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α!page 6␈↓ 	OTHEORY:  IDEAS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓BEINGs␈α∩are␈α⊃now␈α∩contrasted␈α∩against␈α⊃the␈α∩concepts␈α⊃of␈α∩ACTORS,␈α∩FRAMES,␈α⊃HACKER,
␈↓ ↓H␈↓formal AP systems, and macro expansion schemes.

␈↓ ↓H␈↓ACTORS␈α→[Hewitt]␈α→provided␈α→the␈α→key␈α→concept␈α→of␈α→integrating␈α→uniformity␈α_of
␈↓ ↓H␈↓construction␈α_with␈α_sophistocation␈α_of␈α_behavior.␈α_There␈α_are,␈α_however,␈α_many
␈↓ ↓H␈↓things␈α∃one␈α∃wants␈α∃to␈α∃know␈α∃about␈α∃a␈α∃routine,␈α∃other␈α∃than␈α∃its␈α∃value␈α∃and␈α∀its
␈↓ ↓H␈↓control␈α_successor.␈α_The␈α_structure␈α_isn't␈α_rich␈α_enough␈α_to␈α_allow␈α_ACTORS␈α_to
␈↓ ↓H␈↓communicate␈α⊃in␈α⊃a␈α⊂␈↓βdescriptive␈↓␈α⊃way.␈α⊃There␈α⊂seems␈α⊃to␈α⊃be␈α⊂an␈α⊃infinite␈α⊃regress␈α⊃in␈α⊂a
␈↓ ↓H␈↓theoretical␈α↔community␈α↔of␈α↔ACTORS,␈α↔just␈α↔as␈α↔with␈α↔BEINGs.␈α_ Hewitt␈α↔suggests
␈↓ ↓H␈↓stopping␈α∀when␈α∪his␈α∀ACTOR-part␈α∪(the␈α∀value␈α∪returned)␈α∀becomes␈α∀constant.␈α∪ The
␈↓ ↓H␈↓number␈α_of␈α_BEING-parts␈α_and␈α_the␈α_high␈α_level␈α_of␈α_each's␈α_activity␈α_precludes
␈↓ ↓H␈↓using␈α∃this␈α∃criterion;␈α∃a␈α∃much␈α∀less␈α∃rigorous␈α∃judgement␈α∃of␈α∃primitivity␈α∀was
␈↓ ↓H␈↓used in PUP6's BEINGs.

␈↓ ↓H␈↓FRAMES␈α⊂[Minsky]␈α⊂seems␈α⊂superficially␈α⊂similar␈α⊂to␈α⊂BEINGs,␈α⊂but␈α⊂there␈α⊂is␈α⊂a␈α⊂deep
␈↓ ↓H␈↓difference:␈α⊂FRAMES␈α⊂intentionally␈α⊂have␈α⊂default␈α⊂values␈α⊂already␈α⊂filled␈α⊂in␈α⊂for
␈↓ ↓H␈↓each␈α∪frame,␈α∪and␈α∪replaced␈α∪only␈α∪when␈α∪necessary.␈α∪ This␈α∪is␈α∪akin␈α∪to␈α∩automatic
␈↓ ↓H␈↓programming␈α→by␈α→blind␈α→debugging,␈α→but␈α→is␈α→antithetical␈α→to␈α→the␈α_fastidious
␈↓ ↓H␈↓bookkeeping␈α∪BEINGs␈α∪philosophy.␈α∪ As␈α∀an␈α∪example,␈α∪consider␈α∪the␈α∪writing␈α∀of␈α∪a
␈↓ ↓H␈↓short,␈α⊂recursive,␈α⊂list␈α⊂manipulation␈α⊂LISP␈α⊂program␈α⊂(reverse,␈α⊂flatten,␈α⊂assoc,
␈↓ ↓H␈↓alternate,␈α∪etc.)␈α∪A␈α∪human,␈α∪consulting␈α∪the␈α∪proper␈α∪frame␈α∪in␈α∪his␈α∪head,␈α∩knows
␈↓ ↓H␈↓to␈α∪ignore␈α∪the␈α∪base␈α∀step␈α∪for␈α∪a␈α∪while,␈α∪then␈α∀fill␈α∪it␈α∪in,␈α∪usually␈α∪as␈α∀␈↓βif␈α∪NIL,
␈↓ ↓H␈↓βthen␈α⊃NIL␈↓,␈α⊂or,␈α⊃for␈α⊂numerical␈α⊃functions,␈α⊂␈↓βif␈α⊃NIL,␈α⊂then␈α⊃0␈↓␈α⊂or␈α⊃␈↓β1␈↓.␈α⊂ The␈α⊃human␈α⊂makes
␈↓ ↓H␈↓this␈α∪default␈α∪synthesis,␈α∪tries␈α∪out␈α∪the␈α∪program,␈α∪and␈α∪looks␈α∪closer␈α∪(to␈α∩fill
␈↓ ↓H␈↓in␈α⊂this␈α⊂"slot"␈α⊂properly)␈α⊂only␈α⊂if␈α⊂something␈α⊂calls␈α⊂his␈α⊂attention␈α⊂to␈α⊂it␈α⊂(such
␈↓ ↓H␈↓as␈α⊃a␈α⊃LISP␈α⊃error␈α∩message.)␈α⊃A␈α⊃BEINGs␈α⊃system␈α∩would␈α⊃also␈α⊃defer␈α⊃working␈α∩on␈α⊃the
␈↓ ↓H␈↓base␈α⊂step,␈α⊂but␈α⊂could␈α⊂--␈α⊂and␈α⊂would␈α⊂--␈α⊂place␈α⊂a␈α⊂note␈α⊂about␈α⊂that␈α⊂deferral␈α⊂into
␈↓ ↓H␈↓the␈α⊂assertional␈α⊂warning␈α⊂base.␈α⊂ Before␈α⊂thinking␈α⊂it␈α⊂was␈α⊂finished,␈α⊂the␈α⊂system
␈↓ ↓H␈↓would␈α⊂attend␈α⊂to␈α⊂that␈α⊂note␈α⊂carefully.␈α⊂A␈α⊂word␈α⊂in␈α⊂defense␈α⊂of␈α⊂FRAMES:␈α⊂they␈α⊂are
␈↓ ↓H␈↓meant␈α⊗to␈α⊗be␈α⊗a␈α⊗construct␈α∃to␈α⊗model␈α⊗perception,␈α⊗and␈α⊗therefore␈α⊗the␈α∃default
␈↓ ↓H␈↓concept␈α∃makes␈α⊗sense␈α∃for␈α∃them.␈α⊗BEINGs␈α∃are␈α∃clearly␈α⊗non-anthropomorphic␈α∃in
␈↓ ↓H␈↓their␈α∀internal␈α∀workings,␈α∀and␈α∀would␈α∀be␈α∀very␈α∀unlikely␈α∀to␈α∀occur␈α∀as␈α∀a␈α∀human
␈↓ ↓H␈↓perceptual mechanism.

␈↓ ↓H␈↓HACKER␈α⊗[Sussman]␈α↔differs␈α⊗from␈α↔BEINGs␈α⊗in␈α⊗the␈α↔same␈α⊗qualitative␈α↔way.␈α⊗ The
␈↓ ↓H␈↓orientation␈α⊂of␈α⊂HACKER␈α⊂is␈α⊂to␈α⊂put␈α⊂together␈α⊂pieces␈α⊂of␈α⊂programs␈α⊂into␈α⊂something
␈↓ ↓H␈↓close␈α_to␈α_the␈α_final␈α_desired␈α_target,␈α_then␈α_try␈α_and␈α_run␈α_it.␈α_ When␈α_errors
␈↓ ↓H␈↓result,␈α⊗they␈α↔are␈α⊗analyzed␈α↔and␈α⊗then␈α⊗patched.␈α↔ BEINGs␈α⊗is␈α↔oriented␈α⊗toward
␈↓ ↓H␈↓writing␈α≠bug-free␈α≠code;␈α≠what␈α≤it␈α≠writes␈α≠must␈α≠always␈α≠coincide␈α≤with␈α≠its
␈↓ ↓H␈↓internal␈α⊃specifications␈α∩of␈α⊃that␈α∩code.␈α⊃The␈α∩user␈α⊃may␈α∩later␈α⊃change␈α∩his␈α⊃mind,
␈↓ ↓H␈↓and␈α⊗a␈α⊗BEINGs␈α⊗system␈α⊗must␈α⊗be␈α↔able␈α⊗to␈α⊗modify␈α⊗its␈α⊗own␈α⊗programs,␈α↔but␈α⊗this
␈↓ ↓H␈↓process␈α⊂is␈α⊂much␈α⊂better␈α⊂defined␈α⊂than␈α⊂blind␈α⊂debugging.␈α⊂On␈α⊂the␈α⊂other␈α⊂hand,␈α⊂if
␈↓ ↓H␈↓a␈α∩BEINGs␈α∩system␈α∩does␈α∩have␈α∩an␈α∩unexpected␈α∪bug␈α∩in␈α∩it,␈α∩it␈α∩may␈α∩not␈α∩be␈α∪able␈α∩to
␈↓ ↓H␈↓recover␈α↔from␈α↔it.␈α⊗One␈α↔way␈α↔to␈α⊗overcome␈α↔this␈α↔would␈α⊗be␈α↔to␈α↔include␈α⊗special
␈↓ ↓H␈↓recover-from-bugs BEINGs.

␈↓ ↓H␈↓The␈α formal␈α manipulation␈α systems␈α which␈α also␈α synthesize␈α code␈α are␈α so


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α!page 7␈↓ 	OTHEORY:  IDEAS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓different␈α≠from␈α≠BEINGs,␈α≠that␈α≤it␈α≠is␈α≠difficult␈α≠to␈α≠compare␈α≤them.␈α≠ These
␈↓ ↓H␈↓logical␈α⊗systems␈α⊗(e.g.,␈α⊗[Luckham])␈α⊗attack␈α⊗an␈α⊗entirely␈α⊗different␈α⊗problem.
␈↓ ↓H␈↓Their␈α∪task␈α∪is␈α∪specified␈α∀rigorously␈α∪in␈α∪advance,␈α∪and␈α∪they␈α∀proceed␈α∪formally
␈↓ ↓H␈↓to␈α∩search␈α∪for␈α∩a␈α∪solution␈α∩program.␈α∪ BEINGs␈α∩are␈α∪designed␈α∩to␈α∪work␈α∩on␈α∪a␈α∩much
␈↓ ↓H␈↓higher␈α∀level,␈α∪heuristically.␈α∀ Each␈α∪action␈α∀is␈α∪implicitly␈α∀justified␈α∀by␈α∪the
␈↓ ↓H␈↓fact␈α⊂that␈α⊂the␈α⊂user␈α⊂can␈α⊂later␈α⊂describe␈α⊂to␈α⊂the␈α⊂system␈α⊂what␈α⊂is␈α⊂wrong␈α⊂with␈α⊂the
␈↓ ↓H␈↓program␈α∪it's␈α∪generated.␈α∪BEINGs␈α∀should␈α∪thus␈α∪be␈α∪tolerant␈α∪of␈α∀user␈α∪ambiguity
␈↓ ↓H␈↓and error.  Also, BEINGs are not limited to automatic programming.

␈↓ ↓H␈↓Like␈α⊂␈↓βany␈↓␈α⊂AP␈α⊃system␈α⊂which␈α⊂writes␈α⊃structured␈α⊂programs,␈α⊂the␈α⊃external␈α⊂behavior
␈↓ ↓H␈↓of␈α⊃a␈α∩BEINGs␈α⊃system␈α⊃applied␈α∩to␈α⊃this␈α⊃task␈α∩is␈α⊃reminiscent␈α⊃of␈α∩macro␈α⊃expansion
␈↓ ↓H␈↓regardless␈α∨of␈α∨␈↓βwhat␈↓␈α≡the␈α∨internal␈α∨BEING␈α≡interactions␈α∨are.␈α∨ One␈α≡major
␈↓ ↓H␈↓distinction␈α~between␈α~the␈α~two␈α~concepts␈α≠is␈α~when␈α~and␈α~how␈α~the␈α≠macros␈α~are
␈↓ ↓H␈↓expanded.␈α⊂Traditional␈α⊂answers␈α⊂are:␈α⊂at␈α⊂compile␈α⊂time,␈α⊂by␈α⊂rigid␈α⊂substitutions
␈↓ ↓H␈↓(although␈α≡not␈α≡necessarily␈α≥context-free.)␈α≡BEINGs␈α≡systems␈α≡expand␈α≥their
␈↓ ↓H␈↓"macros"␈α⊂at␈α⊂times␈α⊂they␈α⊂choose,␈α⊂using␈α⊂knowledge␈α⊂gleaned␈α⊂from␈α⊂each␈α⊂other␈α⊂and
␈↓ ↓H␈↓from␈α≤the␈α≤user.␈α≤ One␈α≤could␈α≤consider␈α≤such␈α≤a␈α≤system␈α≤as␈α≤a␈α≤smart␈α≤macro
␈↓ ↓H␈↓expansion scheme.































␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α!page 8␈↓ 	OTHEORY:  IDEAS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓␈↓↓4. REALITY: EXAMPLES␈↓

␈↓ ↓H␈↓This␈α∀section␈α∪presents␈α∀examples␈α∪of␈α∀the␈α∪following:␈α∀a␈α∀programming␈α∪knowledge
␈↓ ↓H␈↓BEING,␈α∀an␈α∀explanation␈α∀of␈α∀what␈α∀happens␈α∀when␈α∀a␈α∀BEING␈α∀is␈α∀called,␈α∀a␈α∀concept
␈↓ ↓H␈↓formation␈α_knowledge␈α_BEING,␈α_a␈α_descriptions␈α_of␈α_a␈α_piece␈α_of␈α_the␈α_user-PUP6
␈↓ ↓H␈↓dialogue,␈α and␈α some␈α justification␈α for␈α using␈α functions,␈α call-by-name,
␈↓ ↓H␈↓demons,␈α∪and␈α∪assertions.␈α∪Although␈α∀these␈α∪examples␈α∪are␈α∪meant␈α∪to␈α∀clarify␈α∪the
␈↓ ↓H␈↓preceding␈α∩section's␈α⊃theoretical␈α∩ideas,␈α∩they␈α⊃are␈α∩all␈α⊃drawn␈α∩from␈α∩the␈α⊃actual
␈↓ ↓H␈↓PUP6 system.

␈↓ ↓H␈↓4.1.␈α+ OBTAIN_USABLE_INFORMATION␈α+is␈α*a␈α+typical␈α+high-level,␈α*domain-
␈↓ ↓H␈↓independent␈α∃BEING.␈α⊗ The␈α∃WHEN␈α∃part␈α⊗consists␈α∃of␈α∃predicate␈α⊗"feelers"␈α∃which
␈↓ ↓H␈↓sample␈α_the␈α_world␈α_and␈α_report␈α_their␈α_qualities␈α_numerically.␈α_ A␈α_reason␈α_is
␈↓ ↓H␈↓supplied␈α∪with␈α∪each␈α∪feeler:␈α∪an␈α∪English␈α∪sentence␈α∪stored␈α∪for␈α∪the␈α∪benefit␈α∩of
␈↓ ↓H␈↓inquisitive␈α↔users.␈α↔ The␈α_numbers␈α↔are␈α↔then␈α↔simply␈α_added␈α↔to␈α↔decide␈α_how␈α↔a
␈↓ ↓H␈↓propos␈α⊃the␈α∩BEING␈α⊃is␈α∩at␈α⊃present.␈α∩ This␈α⊃scheme␈α∩is␈α⊃adequate␈α∩but␈α⊃undesirable;
␈↓ ↓H␈↓one␈α∀would␈α∃like␈α∀them␈α∀to␈α∃discuss␈α∀descriptions␈α∀of␈α∃what␈α∀they␈α∃encounter;␈α∀but
␈↓ ↓H␈↓the␈α⊂WHEN␈α⊂part␈α⊂is␈α⊂used␈α⊂only␈α⊂to␈α⊂break␈α⊂ties␈α⊂between␈α⊂BEINGs␈α⊂vying␈α⊂for␈α⊂control,
␈↓ ↓H␈↓and␈α⊃it␈α⊃usually␈α⊃doesn't␈α∩matter␈α⊃what␈α⊃order␈α⊃they␈α∩go␈α⊃in.␈α⊃ Thus␈α⊃a␈α∩simple,␈α⊃fast
␈↓ ↓H␈↓method␈α→of␈α→selection␈α→suffices.␈α→ This␈α→particular␈α→BEING␈α→(whose␈α→parts␈α_are
␈↓ ↓H␈↓exhibited␈α∩on␈α∩pages␈α∩10␈α∩and␈α∩11)␈α∩has␈α∩feelers␈α∩which␈α∩respond␈α∩that␈α∩it␈α∩is␈α∩␈↓βalways␈↓
␈↓ ↓H␈↓an␈α∃undesirable␈α∃(-10)␈α∃thing␈α∃to␈α∃do,␈α∀but␈α∃␈↓βmay␈↓␈α∃be␈α∃indicated␈α∃(+111)␈α∃if␈α∀there
␈↓ ↓H␈↓exists␈α⊗new␈α⊗but␈α⊗not␈α⊗yet␈α∃usable␈α⊗information.␈α⊗These␈α⊗numbers,␈α⊗like␈α⊗all␈α∃the
␈↓ ↓H␈↓parts␈α∪of␈α∪all␈α∩the␈α∪BEINGs␈α∪initally␈α∩in␈α∪PUP6,␈α∪were␈α∩decided␈α∪upon␈α∪and␈α∩inserted
␈↓ ↓H␈↓by hand.

␈↓ ↓H␈↓The␈α_IDEN␈α_parts␈α_are␈α_collected␈α_together␈α_into␈α_a␈α_large␈α_translation␈α_table.
␈↓ ↓H␈↓When␈α∪a␈α∪form␈α∪␈↓βLI␈↓␈α∪must␈α∪be␈α∩translated,␈α∪the␈α∪TRANSLATE␈α∪BEING␈α∪goes␈α∪through␈α∩this
␈↓ ↓H␈↓table,␈α⊃asking␈α∩each␈α⊃IDEN␈α⊃part␈α∩if␈α⊃it␈α∩claims␈α⊃to␈α⊃recognize␈α∩␈↓βLI␈↓.␈α⊃Each␈α∩IDEN␈α⊃runs
␈↓ ↓H␈↓its␈α∩own␈α⊃little␈α∩program,␈α∩typically␈α⊃some␈α∩type␈α∩of␈α⊃pattern␈α∩match␈α∩involving␈α⊃␈↓βLI␈↓
␈↓ ↓H␈↓and␈α↔the␈α↔state␈α⊗of␈α↔the␈α↔world,␈α⊗to␈α↔answer␈α↔this␈α⊗question.␈α↔ Some␈α↔measure␈α⊗of
␈↓ ↓H␈↓goodness␈α⊃of␈α∩match␈α⊃is␈α⊃also␈α∩reported.␈α⊃ If␈α⊃there␈α∩is␈α⊃more␈α⊃than␈α∩one␈α⊃responder,
␈↓ ↓H␈↓CHOOSE-FROM␈α⊃picks␈α∩the␈α⊃one␈α∩with␈α⊃the␈α∩highest␈α⊃priority␈α∩of␈α⊃match.␈α∩ The␈α⊃winner
␈↓ ↓H␈↓runs␈α⊃a␈α∩little␈α⊃program␈α∩which␈α⊃ultimately␈α∩returns␈α⊃a␈α∩BEING-call␈α⊃or␈α∩a␈α⊃constant
␈↓ ↓H␈↓as␈α⊂the␈α⊂translated␈α⊂value␈α⊂of␈α⊃␈↓βLI␈↓.␈α⊂This␈α⊂program␈α⊂might␈α⊂call␈α⊂other␈α⊃BEINGs,␈α⊂often
␈↓ ↓H␈↓calls␈α⊂TRANSLATE␈α⊂several␈α⊂times␈α⊂recursively␈α⊃on␈α⊂parts␈α⊂of␈α⊂␈↓βLI␈↓.␈α⊂ Now␈α⊃examine␈α⊂the
␈↓ ↓H␈↓IDEN␈α∀part␈α∪of␈α∀the␈α∪OBTAIN_USABLE_INFORMATION␈α∀BEING␈α∪(next␈α∀page).␈α∀ There␈α∪are
␈↓ ↓H␈↓just␈α≤two␈α≠classes␈α≤of␈α≤phrases␈α≠that␈α≤this␈α≤BEING␈α≠can␈α≤recognize.␈α≤ If␈α≠two
␈↓ ↓H␈↓conditions␈α→are␈α→met,␈α→it␈α→says␈α→to␈α→␈↓βcall␈↓␈α→OBTAIN-USABLE-INFORMATION␈α→with,␈α_as
␈↓ ↓H␈↓argument,␈α⊂the␈α⊂result␈α⊂of␈α⊂calling␈α⊃TRANSLATE␈α⊂on␈α⊂the␈α⊂second␈α⊂element␈α⊂of␈α⊃␈↓βLI␈↓.␈α⊂ If
␈↓ ↓H␈↓some␈α⊃BEING␈α⊃or␈α⊃user␈α∩wants␈α⊃to␈α⊃find␈α⊃out␈α∩more␈α⊃about␈α⊃anything,␈α⊃then␈α∩this␈α⊃BEING
␈↓ ↓H␈↓can be called with that thing as argument.

␈↓ ↓H␈↓The␈α⊃EFFECTS␈α∩parts␈α⊃of␈α⊃each␈α∩BEING␈α⊃are␈α⊃similarly␈α∩collected␈α⊃into␈α⊃one␈α∩table␈α⊃to
␈↓ ↓H␈↓facilitate␈α∃asking␈α∃all␈α∃BEINGs␈α∃simultaneously␈α∀"Can␈α∃you␈α∃cause␈α∃X␈α∃to␈α∀occur?"
␈↓ ↓H␈↓Each␈α⊂EFFECTS␈α⊂part␈α⊂examines␈α⊂X␈α⊂and␈α⊂the␈α⊂world,␈α⊂and␈α⊂either␈α⊂replies␈α⊂No,␈α⊂or␈α⊂else
␈↓ ↓H␈↓returns␈α→a␈α→little␈α→program␈α→(involving␈α→calls␈α→and␈α→constants)␈α→which␈α_should


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α!page 9␈↓ 	 REALITY:  EXAMPLES
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓produce␈α≡the␈α≡effect,␈α≡with␈α∨a␈α≡certain␈α≡probability.␈α≡ This␈α∨program␈α≡will
␈↓ ↓H␈↓probably␈α⊂involve␈α⊂a␈α⊂call␈α⊂to␈α⊂the␈α⊂BEING␈α⊂itself.␈α⊂The␈α⊂BEING␈α⊂below␈α⊂shows␈α⊂that␈α⊂it
␈↓ ↓H␈↓should␈α⊃be␈α∩called␈α⊃to␈α∩acheive␈α⊃the␈α∩existence␈α⊃of␈α∩new,␈α⊃usable␈α∩information␈α⊃(see
␈↓ ↓H␈↓the MAIN:EFFECTS part, page 11).

␈↓ ↓H␈↓The␈α∀WHAT,␈α∀HOW,␈α∪and␈α∀WHY␈α∀parts␈α∪are␈α∀mainly␈α∀for␈α∪the␈α∀user's␈α∀benefit.␈α∀ When␈α∪a
␈↓ ↓H␈↓choice␈α⊗between␈α↔BEINGs␈α⊗must␈α↔be␈α⊗made,␈α⊗the␈α↔WHEN,␈α⊗AFFECTS,␈α↔and␈α⊗COMPLEXITY-
␈↓ ↓H␈↓VECTOR␈α⊂parts␈α⊂are␈α⊂queried.␈α⊂ If␈α⊂a␈α⊂new,␈α⊂manipulated␈α⊂version␈α⊂of␈α⊂the␈α⊂BEING␈α⊂must
␈↓ ↓H␈↓be␈α⊂created,␈α⊂the␈α⊂SPECIALIZATIONS,␈α⊂ENCODABLE,␈α⊂DATA-STRUCTURE,␈α⊂PREDICATE,␈α⊂and
␈↓ ↓H␈↓FORM-CHANGING␈α⊗parts␈α↔might␈α⊗be␈α↔relevant.␈α⊗ If␈α⊗the␈α↔BEING␈α⊗fails,␈α↔some␈α⊗BEING
␈↓ ↓H␈↓speicified in the ALTERNATIVES or GENERALIZATIONS parts might be tried.

␈↓ ↓H␈↓In␈α↔the␈α↔current␈α_case,␈α↔the␈α↔COMPLEXITY-VECTOR␈α↔says␈α_that␈α↔it␈α↔is␈α_of␈α↔average
␈↓ ↓H␈↓difficulty␈α∪to␈α∪call,␈α∩its␈α∪descendants␈α∪may␈α∩(.5␈α∪chance)␈α∪call␈α∩it␈α∪back,␈α∪it␈α∩has
␈↓ ↓H␈↓an␈α∀average␈α∀chance␈α∪of␈α∀success␈α∀and␈α∪cost␈α∀of␈α∀attempting␈α∪it,␈α∀and␈α∀there␈α∀is␈α∪no
␈↓ ↓H␈↓(.1) good reason to defer it any longer.

␈↓ ↓H␈↓The␈α→AFFECTS␈α→part␈α→of␈α→the␈α→OBTAIN_USABLE_INFORMATION␈α→BEING␈α→is␈α→clear.␈α_One
␈↓ ↓H␈↓BEING is definitely called, and four others might be.

␈↓ ↓H␈↓The␈α∃absence␈α⊗of␈α∃some␈α∃parts,␈α⊗like␈α∃DATA_STRUCTURE,␈α∃PREDICATE,␈α⊗and␈α∃NLAMBDA,
␈↓ ↓H␈↓indicate␈α∃that␈α∃these␈α∃qualities␈α∃don't␈α∀apply.␈α∃ The␈α∃absence␈α∃of␈α∃other␈α∀parts,
␈↓ ↓H␈↓like␈α∩SPECIALIZATIONS␈α∩and␈α∩ALTERNATIVES,␈α⊃indicate␈α∩a␈α∩lack␈α∩of␈α∩thoroughness␈α⊃in
␈↓ ↓H␈↓filling out unneeded BEING parts.

␈↓ ↓H␈↓The␈α⊃META-CODE␈α∩has␈α⊃us␈α∩choose␈α⊃from␈α∩the␈α⊃following␈α∩four␈α⊃alternatives,␈α∩each␈α⊃of
␈↓ ↓H␈↓which␈α∀is␈α∪itself␈α∀a␈α∪BEING:␈α∀Get_Brand_New_Information␈α∪(in␈α∀English,␈α∀from␈α∪the
␈↓ ↓H␈↓user),␈α Translate␈α something␈α (transform␈α from␈α English␈α to␈α BEING-calls),
␈↓ ↓H␈↓Analyze_The_Implications␈α#(of␈α#some␈α#existing,␈α$translated␈α#information),
␈↓ ↓H␈↓Extract_a_Relevant_Subset␈α≠(of␈α≠the␈α~existing␈α≠information)␈α≠to␈α~concentrate
␈↓ ↓H␈↓upon.␈α⊂ Calls␈α⊂are␈α⊂nondeterministic␈α⊂only␈α⊂when␈α⊂the␈α⊂BEING␈α⊂doesn't␈α⊂know␈α⊂exactly
␈↓ ↓H␈↓which␈α∪BEING␈α∪to␈α∀call.␈α∪If␈α∪the␈α∀␈↓βset␈↓␈α∪of␈α∪possible␈α∪choices␈α∀is␈α∪known,␈α∪as␈α∀in␈α∪this
␈↓ ↓H␈↓case,␈α∀then␈α∃CHOOSE-FROM␈α∀is␈α∀called␈α∃with␈α∀the␈α∀choice␈α∃set␈α∀explicit.␈α∃ If␈α∀even
␈↓ ↓H␈↓this␈α⊂isn't␈α⊂known,␈α⊂then␈α⊂CHOOSE-FROM␈α⊂must␈α⊂query␈α⊂the␈α⊂EFFECTS␈α⊂parts␈α⊂of␈α⊂all␈α⊂the
␈↓ ↓H␈↓BEINGs in the system.

␈↓ ↓H␈↓Below␈α∪are␈α∪exhibited␈α∪the␈α∪actual␈α∪representation␈α∪of␈α∪this␈α∪BEING␈α∪in␈α∪PUP6,␈α∩and
␈↓ ↓H␈↓the function which would be executed if it were ␈↓βcalled␈↓.


␈↓ ↓H␈↓∧␈↓β␈↓&PART␈↓'β    ␈↓&actual value of the part for OBTAIN:USABLE:INFORMATION␈↓'β ␈↓∧

␈↓ ↓H␈↓∧IDEN (((AND (EQUAL (CAR LI)
␈↓ ↓H␈↓∧                OBTAIN:USABLE:INFORMATION)
␈↓ ↓H␈↓∧          (EQUAL (LENGTH LI)
␈↓ ↓H␈↓∧                 2))
␈↓ ↓H␈↓∧       (OBTAIN:USABLE:INFORMATION (TRANSLATE (CADR LI))))
␈↓ ↓H␈↓∧      ((MATCH ( FIND OUT MORE ABOUT ANY1)   LI)
␈↓ ↓H␈↓∧       (OBTAIN:USABLE:INFORMATION ANY1)))

␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 10␈↓ 	 REALITY:  EXAMPLES
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓∧BEING T
␈↓ ↓H␈↓∧EXPLICIT:ARGS (U)
␈↓ ↓H␈↓∧WHAT (TUPLE OBTAIN SOME INFORMATION WHICH CAN BE USED)
␈↓ ↓H␈↓∧HOW (TUPLE OBTAIN NEW FACTS ABOUT OLD INFORMATION, OR OBTAIN TOTALLY
␈↓ ↓H␈↓∧     NEW INFORMATION)
␈↓ ↓H␈↓∧WHY (TUPLE PUP HAS NO MORE INFORMATION THAT IT CAN USE TO PROGRESS)
␈↓ ↓H␈↓∧WHEN ((T -10 (TUPLE SINCE THIS IS AN EXPONENTIALLY-GROWING, BAD THING
␈↓ ↓H␈↓∧              TO DO IN GENERAL))
␈↓ ↓H␈↓∧      (NEW:INFO:LIST 111
␈↓ ↓H␈↓∧             (QUOTE (BECAUSE WE SHOULD WORK ON UNASSIMILATED NEW
␈↓ ↓H␈↓∧                      INFORMATION IF THERE IS ANY))))
␈↓ ↓H␈↓∧META:CODE (PROGN (SETQ BECAUSE
␈↓ ↓H␈↓∧                   (QUOTE (WE CAN ONLY TRY TO OBTAIN USABLE
␈↓ ↓H␈↓∧                            INFORMATION IN ONE WAY AT A TIME)))
␈↓ ↓H␈↓∧                 (CHOOSE:FROM (QUOTE ((TRANSLATE U)
␈↓ ↓H␈↓∧                                      (GET:NEW:INFORMATION U)
␈↓ ↓H␈↓∧                                      (ANALYZE:IMPLICATIONS U)
␈↓ ↓H␈↓∧                                      (EXTRACT:RELEVANT:SUBSET U)))))
␈↓ ↓H␈↓∧EXPLICIT:ARGS:CHECK T
␈↓ ↓H␈↓∧MAIN:EFFECTS (((NEW INFO ANY1)
␈↓ ↓H␈↓∧               (OBTAIN:USABLE:INFORMATION (@ ANY1)))
␈↓ ↓H␈↓∧              ((USABLE INFO ANY1)
␈↓ ↓H␈↓∧               (OBTAIN:USABLE:INFORMATION (@ ANY1))))
␈↓ ↓H␈↓∧AFFECTS (QUOTE ((CHOOSE:FROM CALLED)
␈↓ ↓H␈↓∧                (TRANSLATE POSSIBLE:CALLED)
␈↓ ↓H␈↓∧                (GET:NEW:INFORMATION POSSIBLE:CALLED)
␈↓ ↓H␈↓∧                (ANALYZE:IMPLICATIONS POSSIBLE:CALLED)
␈↓ ↓H␈↓∧                (EXTRACT:RELEVANT:SUBSET POSSIBLE:CALLED)))
␈↓ ↓H␈↓∧COMPLEXITY:VECTOR (.5 .5 .5 .5 .1)

␈↓ ↓H␈↓        4.2. When a BEING is ␈↓βcalled␈↓, its parts are assembled into a
␈↓ ↓H␈↓function which is then executed. Here is the ␈↓βFUNCTIONAL␈↓ form of the
␈↓ ↓H␈↓OBTAIN:USABLE:INFORMATION   BEING:

␈↓ ↓H␈↓∧(OBTAIN:USABLE:INFORMATION
␈↓ ↓H␈↓∧  (LAMBDA (U FN:VALUE FINAL:CO:REQ)
␈↓ ↓H␈↓∧      (PROG1
␈↓ ↓H␈↓∧          (AND
␈↓ ↓H␈↓∧              (SETQ BEING:STACK (CONS OBTAIN:USABLE:INFORMATION BEING:STACK))
␈↓ ↓H␈↓∧              (PUT OBTAIN:USABLE:INFORMATION SPEC:WHY BECAUSE)
␈↓ ↓H␈↓∧              (EVERY (APPEND CURRENT:DEMONS USER:INTERRUPT:DEMONS)
␈↓ ↓H␈↓∧                     (QUOTE APPLY*))
␈↓ ↓H␈↓∧              (SETQ BECAUSE
␈↓ ↓H␈↓∧                   (QUOTE (WE CAN ONLY TRY TO OBTAIN USABLE
␈↓ ↓H␈↓∧                              INFORMATION IN ONE WAY AT A TIME)))
␈↓ ↓H␈↓∧              (CHOOSE:FROM (QUOTE ((TRANSLATE U)
␈↓ ↓H␈↓∧                                   (GET:NEW:INFORMATION U)
␈↓ ↓H␈↓∧                                   (ANALYZE:IMPLICATIONS U)
␈↓ ↓H␈↓∧                                   (EXTRACT:RELEVANT:SUBSET U)))))
␈↓ ↓H␈↓∧          (SETQ BEING:STACK (CDR BEING:STACK)))))

␈↓ ↓H␈↓The␈α⊗process␈α⊗of␈α⊗assembling␈α⊗the␈α∃BEING␈α⊗parts␈α⊗into␈α⊗a␈α⊗function␈α⊗is␈α∃straight-
␈↓ ↓H␈↓forward.␈α∃ First,␈α∃the␈α∃explicit␈α∃arguments␈α∀(those␈α∃global␈α∃to␈α∃the␈α∃BEING)␈α∀are
␈↓ ↓H␈↓bound.␈α≥The␈α≥implicit␈α≥arguments␈α≥(those␈α≤local␈α≥to␈α≥the␈α≥BEING,␈α≥like␈α≤PROG


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 11␈↓ 	 REALITY:  EXAMPLES
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓variables)␈α⊂are␈α⊂initialized.␈α⊂The␈α⊂name␈α⊂of␈α⊂the␈α⊂BEING␈α⊂is␈α⊂pushed␈α⊂onto␈α⊂the␈α⊂BEING
␈↓ ↓H␈↓control␈α⊂stack␈α⊂(pointing␈α⊂to␈α⊂its␈α⊂caller),␈α⊂and␈α⊂any␈α⊂newly-activated␈α⊂demons␈α⊂are
␈↓ ↓H␈↓pushed␈α↔onto␈α↔the␈α↔demon␈α↔stack.␈α↔ The␈α↔ARGS-CHECK␈α↔predicates␈α_are␈α↔evaluated.
␈↓ ↓H␈↓Then␈α~PUP6␈α~works␈α~to␈α~make␈α≠each␈α~PRE-REQUISITE␈α~true␈α~in␈α~the␈α≠world.␈α~ Each
␈↓ ↓H␈↓COMMENT␈α≤is␈α≤evaluated,␈α≤then␈α≤the␈α≤CO-REQUISITES,␈α≤META-CODE,␈α≤and␈α≤current
␈↓ ↓H␈↓demons␈α∀all␈α∪are␈α∀executed␈α∪in␈α∀pseudo-parallel.␈α∪ Each␈α∀POST-REQUISITE␈α∀is␈α∪then
␈↓ ↓H␈↓satisfied.␈α⊂ Since␈α⊂these␈α⊂activities␈α⊂are␈α⊂all␈α⊂embedded␈α⊂in␈α⊂an␈α⊂AND,␈α⊂any␈α⊂of␈α⊂them
␈↓ ↓H␈↓may␈α⊃cause␈α⊃the␈α⊃entire␈α∩BEING␈α⊃to␈α⊃halt␈α⊃and␈α∩fail,␈α⊃simply␈α⊃by␈α⊃returning␈α∩NIL.␈α⊃ In
␈↓ ↓H␈↓both␈α∪cases,␈α∪just␈α∩before␈α∪exiting,␈α∪the␈α∩demon␈α∪stack␈α∪is␈α∩popped␈α∪and␈α∪the␈α∩BEING
␈↓ ↓H␈↓stack␈α≡is␈α∨updated␈α≡(usually␈α∨just␈α≡popped),␈α≡and␈α∨control␈α≡passes␈α∨to␈α≡the
␈↓ ↓H␈↓delegated␈α⊃BEING␈α∩(usually␈α⊃the␈α⊃one␈α∩who␈α⊃called␈α⊃this␈α∩BEING,␈α⊃at␈α⊃the␈α∩state␈α⊃when
␈↓ ↓H␈↓he␈α∀called␈α∃it.)␈α∀A␈α∀fancy␈α∃context␈α∀mechanism␈α∀was␈α∃available␈α∀but␈α∃not␈α∀actually
␈↓ ↓H␈↓needed.

␈↓ ↓H␈↓The␈α⊗function␈α⊗which␈α⊗assembled␈α⊗all␈α∃the␈α⊗BEINGs␈α⊗exploited␈α⊗the␈α⊗fact␈α⊗that␈α∃it
␈↓ ↓H␈↓operated␈α⊃only␈α⊃at␈α⊃system␈α⊃load␈α⊃time.␈α∩Thus␈α⊃if␈α⊃the␈α⊃BEING␈α⊃had␈α⊃no␈α⊃new␈α∩DEMONs␈α⊃to
␈↓ ↓H␈↓activate,␈α"all␈α"the␈α#corresponding␈α"demon-stack␈α"manipulations␈α#could␈α"be
␈↓ ↓H␈↓omitted.␈α∩Optimizations␈α∩like␈α∩these␈α⊃are␈α∩clear␈α∩from␈α∩comparing␈α∩the␈α⊃functional
␈↓ ↓H␈↓form␈α⊂and␈α⊂the␈α⊂description␈α⊂of␈α⊂how␈α⊂it␈α⊂should␈α⊂be␈α⊂created␈α⊂(see␈α⊂above).␈α⊂ Another
␈↓ ↓H␈↓example␈α→in␈α→this␈α_BEING␈α→is␈α→that␈α→no␈α_CO-REQUISITES␈α→occur,␈α→so␈α→no␈α_parallel
␈↓ ↓H␈↓processing need be simulated.

␈↓ ↓H␈↓4.2␈α∩PARTITION_A_DOMAIN␈α∩is␈α∩a␈α∩high-level,␈α∩domain-specific␈α∩BEING␈α∩whose␈α∩basic
␈↓ ↓H␈↓idea␈α∀is␈α∀to␈α∪divide␈α∀up␈α∀a␈α∪space␈α∀into␈α∀categories.␈α∪ Only␈α∀two␈α∀BEING␈α∀parts␈α∪are
␈↓ ↓H␈↓filled␈α∀in␈α∀here␈α∀which␈α∀were␈α∀absent␈α∀from␈α∀OBTAIN_USABLE_INFORMATION;␈α∀namely,
␈↓ ↓H␈↓SPECIALIZATIONS␈α⊂and␈α⊂DEMONS.␈α⊂ The␈α⊂SPECIALIZATIONS␈α⊂part␈α⊂says␈α⊂that␈α⊂to␈α⊂write␈α⊂a
␈↓ ↓H␈↓specific␈α⊂version␈α⊂of␈α⊂itself,␈α⊂a␈α⊂few␈α⊂decisions␈α⊂must␈α⊂be␈α⊂made.␈α⊂The␈α⊂results␈α⊂will
␈↓ ↓H␈↓then␈α∪indicate␈α∪what␈α∩pieces␈α∪of␈α∪code␈α∩get␈α∪assembled␈α∪together␈α∩to␈α∪form␈α∪the␈α∩new
␈↓ ↓H␈↓BEING.␈α~ The␈α~partition␈α~may␈α~be␈α≠only␈α~partial␈α~(an␈α~element␈α~of␈α≠the␈α~domain
␈↓ ↓H␈↓belongs␈α∀to␈α∀no␈α∀class␈α∀of␈α∀the␈α∀partition),␈α∀only␈α∀weak␈α∀(an␈α∀element␈α∀belongs␈α∀to
␈↓ ↓H␈↓more␈α∩than␈α⊃one␈α∩class),␈α∩and,␈α⊃most␈α∩importantly,␈α⊃the␈α∩specialized␈α∩BEING␈α⊃should
␈↓ ↓H␈↓work␈α⊃by␈α∩repeatedly␈α⊃doing␈α∩some␈α⊃of␈α∩the␈α⊃following␈α∩three␈α⊃activities:␈α∩accept␈α⊃a
␈↓ ↓H␈↓class-name␈α⊂from␈α⊂the␈α⊂user␈α⊂and␈α⊂guess␈α⊂some␈α⊂of␈α⊂its␈α⊂elements,␈α⊂accept␈α⊂an␈α⊂element
␈↓ ↓H␈↓from␈α∃the␈α∀user␈α∃and␈α∀try␈α∃to␈α∃guess␈α∀which␈α∃class␈α∀it␈α∃belongs␈α∀to,␈α∃or␈α∃accept␈α∀an
␈↓ ↓H␈↓<element,␈α≤class-name>␈α≤pair.␈α≤Other␈α≤BEINGs␈α≤know␈α≤about␈α≤these␈α≤accepting,
␈↓ ↓H␈↓guessing, checking activities.

␈↓ ↓H␈↓The␈α∪DEMONS␈α∪part␈α∩says␈α∪that␈α∪during␈α∩the␈α∪partitioning,␈α∪the␈α∩only␈α∪new␈α∪demon␈α∩to
␈↓ ↓H␈↓keep␈α⊂active␈α⊂is␈α⊂the␈α⊂one␈α⊂called␈α⊂Fringe_of_Consciousness.␈α⊂ This␈α⊂last␈α⊂concept,
␈↓ ↓H␈↓named␈α~parodically␈α~after␈α~an␈α~"impossibility"␈α~mentioned␈α~in␈α~[Dreyfus],␈α~is
␈↓ ↓H␈↓worth␈α∪exemplifying.␈α∪ In␈α∪the␈α∪course␈α∪of␈α∪writing␈α∪GI,␈α∪the␈α∪system␈α∪learns␈α∩that
␈↓ ↓H␈↓the␈α∩main␈α∩task␈α∩is␈α⊃one␈α∩of␈α∩grammatical␈α∩inference.␈α∩ The␈α⊃Grammatical_Inference
␈↓ ↓H␈↓BEING␈α∀then␈α∀asserts␈α∪that␈α∀if␈α∀the␈α∪user␈α∀ever␈α∀mentions␈α∪the␈α∀word␈α∀TEST,␈α∀he␈α∪may
␈↓ ↓H␈↓actually␈α∩mean␈α∪PARSE.␈α∩ This␈α∪is␈α∩placed␈α∪in␈α∩the␈α∪IDEN␈α∩part␈α∪of␈α∩the␈α∪TEST␈α∩BEING,
␈↓ ↓H␈↓and␈α≠is␈α≠therefore␈α≠only␈α≤demonized,␈α≠waiting␈α≠on␈α≠the␈α≠periphery␈α≤of␈α≠PUP6's
␈↓ ↓H␈↓concentration.␈α→ It␈α→is␈α_in␈α→fact␈α→triggered␈α→later␈α_in␈α→the␈α→dialogue,␈α→as␈α_an
␈↓ ↓H␈↓inference surprising to the user.


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 12␈↓ 	 REALITY:  EXAMPLES
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓4.4.␈α⊂ The␈α⊂dialogue␈α⊂to␈α⊂synthesize␈α⊂CF␈α⊂begins␈α⊂by␈α⊂PUP6␈α⊂asking␈α⊂the␈α⊂user␈α⊂for␈α⊂any
␈↓ ↓H␈↓task.␈α∞ The␈α∞user␈α∞replies,␈α∞␈↓βWrite␈α∞a␈α
program␈α∞which␈α∞does␈α∞concept␈α∞formation␈↓.␈α∞There␈α
are
␈↓ ↓H␈↓many␈α_decisions␈α_that␈α_PUP6␈α_knows␈α_about␈α_in␈α_writing␈α_a␈α_specialized␈α_concept
␈↓ ↓H␈↓formation␈α⊂program,␈α⊂and␈α⊂it␈α⊂manages␈α⊂to␈α⊂defer␈α⊂them␈α⊂all.␈α⊂ For␈α⊂example,␈α⊂it␈α⊂must
␈↓ ↓H␈↓choose␈α+between␈α+classificatory,␈α*comparative,␈α+and␈α+metrical␈α*concept
␈↓ ↓H␈↓formation.␈α⊂Since␈α⊂all␈α⊂three␈α⊂involve␈α⊂partitioning␈α⊂a␈α⊂domain␈α⊂of␈α⊂examples,␈α⊂PUP6
␈↓ ↓H␈↓decides␈α⊃it␈α∩can␈α⊃defer␈α⊃this␈α∩choice␈α⊃until␈α⊃after␈α∩code␈α⊃for␈α⊃the␈α∩partitioning␈α⊃is
␈↓ ↓H␈↓synthesized.␈α⊂ The␈α⊂effort␈α⊂of␈α⊂the␈α⊂system␈α⊂is␈α⊂now␈α⊂directed␈α⊂toward␈α⊂this␈α⊂"piece"
␈↓ ↓H␈↓of␈α∀the␈α∀program.␈α∪ When␈α∀it␈α∀is␈α∪completed,␈α∀an␈α∀hour␈α∪or␈α∀two␈α∀later,␈α∀the␈α∪system
␈↓ ↓H␈↓asks␈α⊃the␈α∩user␈α⊃to␈α⊃make␈α∩this␈α⊃decision.␈α⊃When␈α∩he␈α⊃picks␈α⊃the␈α∩first␈α⊃alternative,
␈↓ ↓H␈↓which␈α∀involves␈α∀␈↓βonly␈↓␈α∀partitioning,␈α∃the␈α∀system␈α∀prints␈α∀that␈α∀it␈α∃has␈α∀finished
␈↓ ↓H␈↓the entire CF task, and dumps the newly created BEINGs onto a file.

␈↓ ↓H␈↓4.5.␈α⊃Earlier,␈α∩the␈α⊃claim␈α⊃was␈α∩made␈α⊃that␈α⊃the␈α∩presence␈α⊃of␈α⊃popular␈α∩AI␈α⊃language
␈↓ ↓H␈↓features␈α∃did␈α∃not␈α∃detract␈α∃from␈α∀the␈α∃combinatorial␈α∃behavior␈α∃of␈α∃the␈α∀system,
␈↓ ↓H␈↓since␈α_BEINGs␈α_subsume␈α_each␈α_mechanaism␈α_used.␈α_This␈α_will␈α_now␈α_be␈α_sketched.
␈↓ ↓H␈↓Direct␈α∀call␈α∀by␈α∀name␈α∀may␈α∀be␈α∀viewed␈α∀as␈α∀a␈α∀trivial␈α∀type␈α∀of␈α∀pattern-directed
␈↓ ↓H␈↓call,␈α∀where␈α∀each␈α∪BEING␈α∀can␈α∀recognize␈α∪its␈α∀own␈α∀name.␈α∪See␈α∀the␈α∀IDEN␈α∀part␈α∪of
␈↓ ↓H␈↓the OBTAIN:USABLE:INFORMATION BEING, for example.

␈↓ ↓H␈↓A␈α⊂demon␈α⊂in␈α⊂PUP6␈α⊂is␈α⊂merely␈α⊂a␈α⊂function␈α⊂which␈α⊂gets␈α⊂executed␈α⊂periodically,␈α⊂and
␈↓ ↓H␈↓may␈α⊃occasionally␈α∩trigger␈α⊃a␈α⊃BEING.␈α∩This␈α⊃could␈α⊃be␈α∩replaced␈α⊃by␈α⊃a␈α∩BEING␈α⊃whose
␈↓ ↓H␈↓EXPLICIT:ARGS:CHECK␈α≠part␈α≤contains␈α≠the␈α≤triggering␈α≠predicate,␈α≤and␈α≠whose
␈↓ ↓H␈↓META:CODE␈α⊂is␈α⊂simply␈α⊂a␈α⊂call␈α⊂by␈α⊂name␈α⊂directly␈α⊂to␈α⊂the␈α⊂BEING␈α⊂which␈α⊂is␈α⊂supposed
␈↓ ↓H␈↓to be activated.

␈↓ ↓H␈↓An␈α∩assertion␈α∪can␈α∩be␈α∪viewed␈α∩as␈α∪a␈α∩BEING␈α∪containing␈α∩only␈α∪an␈α∩IDEN␈α∪part;␈α∩when
␈↓ ↓H␈↓the␈α≤BEING␈α≠recognizes␈α≤a␈α≤form␈α≠which␈α≤matches␈α≤it,␈α≠it␈α≤returns␈α≤the␈α≠fully
␈↓ ↓H␈↓instantiated assertion.

␈↓ ↓H␈↓A␈α⊃function␈α⊃is␈α⊃equivalent␈α∩to␈α⊃a␈α⊃BEING␈α⊃with␈α∩only␈α⊃a␈α⊃META:CODE␈α⊃part;␈α∩one␈α⊃knows
␈↓ ↓H␈↓nothing about it before executing it.

␈↓ ↓H␈↓Notice␈α∪that␈α∪the␈α∪overheads␈α∀saved␈α∪by␈α∪these␈α∪mechanisms␈α∪are␈α∀substantial.␈α∪For
␈↓ ↓H␈↓example,␈α assertions␈α replace␈α an␈α entire␈α BEING␈α call␈α by␈α a␈α single␈α CDR
␈↓ ↓H␈↓evaluation.

␈↓ ↓H␈↓The␈α⊗reader␈α⊗may␈α⊗have␈α⊗observed␈α∃the␈α⊗static␈α⊗quality␈α⊗of␈α⊗these␈α⊗examples,␈α∃and
␈↓ ↓H␈↓wished␈α↔for␈α↔one␈α⊗of␈α↔BEINGs␈α↔in␈α⊗action,␈α↔passing␈α↔control␈α⊗back␈α↔and␈α↔forth␈α⊗in
␈↓ ↓H␈↓order␈α→to␈α→do␈α_something.␈α→But␈α→to␈α→present␈α_a␈α→reasonable␈α→example␈α→of␈α_BEINGs
␈↓ ↓H␈↓interacting,␈α→it␈α→is␈α→necessary␈α→to␈α→understand␈α→something␈α→about␈α→the␈α_target
␈↓ ↓H␈↓task.␈α∪ Thus␈α∪we␈α∪describe␈α∪PUP6␈α∪in␈α∪the␈α∪following␈α∪section,␈α∪including␈α∪how␈α∩the
␈↓ ↓H␈↓target task CF evolved. Then comes the dynamic example, in section 6.






␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 13␈↓ 	 REALITY:  EXAMPLES
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓␈↓↓5. THEORY: DESIGN␈↓

␈↓ ↓H␈↓A␈α↔highly␈α↔polished␈α_presentation␈α↔of␈α↔a␈α↔large␈α_system␈α↔omits␈α↔mention␈α_of␈α↔the
␈↓ ↓H␈↓design␈α∀and␈α∀implementation␈α∀mistakes.␈α∀ This␈α∀is␈α∀unfortunate;␈α∀many␈α∀decisions
␈↓ ↓H␈↓which␈α⊂seem␈α⊂arbitrary␈α⊂are␈α⊂the␈α⊂result␈α⊂of␈α⊂painful␈α⊂re-working,␈α⊂and␈α⊂conversely.
␈↓ ↓H␈↓The reader may relax; he will find nothing polished about this treatment.

␈↓ ↓H␈↓Once␈α↔the␈α↔task␈α↔(automatic␈α↔program␈α↔synthesis␈α↔from␈α↔specific␈α_dialogue)␈α↔was
␈↓ ↓H␈↓decided␈α∩upon,␈α∩considerable␈α∩attention␈α⊃was␈α∩spent␈α∩on␈α∩choosing␈α∩an␈α⊃appropriate
␈↓ ↓H␈↓domain␈α∀of␈α∪target␈α∀programs.␈α∪ The␈α∀choice,␈α∪inductive␈α∀inference␈α∀(II)␈α∪[Kant],
␈↓ ↓H␈↓merits␈α⊂discussion.␈α⊂ The␈α⊂obvious␈α⊂difficulty␈α⊂appears␈α⊂to␈α⊂be␈α⊂the␈α⊂complexity␈α⊂of
␈↓ ↓H␈↓the␈α∀programs␈α∃involved:␈α∀they␈α∀are␈α∃two␈α∀orders␈α∀of␈α∃magnitude␈α∀larger␈α∃than␈α∀any
␈↓ ↓H␈↓previously synthesized programs. But there are four big attractions:

␈↓ ↓H␈↓(i)␈α"A␈α!wide␈α"range␈α"of␈α!complexity␈α"exists,␈α!from␈α"a␈α"one-page␈α!sequence
␈↓ ↓H␈↓extrapolator to Meta-Dendral.

␈↓ ↓H␈↓(ii)␈α∩Each␈α⊃increasingly␈α∩sophisticated␈α∩II␈α⊃program␈α∩uses␈α⊃many␈α∩of␈α∩the␈α⊃concepts
␈↓ ↓H␈↓embodied in simpler II programs.

␈↓ ↓H␈↓(iii)␈α⊗If␈α⊗a␈α⊗super-human␈α⊗target␈α∃program␈α⊗is␈α⊗ever␈α⊗written,␈α⊗it␈α⊗could␈α∃itself
␈↓ ↓H␈↓contribute␈α∩to␈α⊃the␈α∩field␈α∩of␈α⊃Automatic␈α∩Programming!␈α⊃(For␈α∩those␈α∩reading␈α⊃this
␈↓ ↓H␈↓in␈α_the␈α_1970's,␈α_this␈α_is␈α_humorous.␈α_ For␈α_those␈α_later␈α_readers,␈α_it␈α_may␈α_be
␈↓ ↓H␈↓commonplace.)

␈↓ ↓H␈↓(iv)␈α⊃Since␈α∩we␈α⊃who␈α⊃write␈α∩AI␈α⊃(and␈α⊃especially␈α∩AP)␈α⊃programs␈α⊃are␈α∩the␈α⊃inductive
␈↓ ↓H␈↓inference␈α∩professionals,␈α⊃our␈α∩reliance␈α∩on␈α⊃introspection␈α∩is␈α⊃as␈α∩valid␈α∩--␈α⊃and
␈↓ ↓H␈↓potentially as valuable -- as chemists' protocols were to Dendral.

␈↓ ↓H␈↓After␈α"studying␈α"many␈α"sample␈α!programs␈α"from␈α"the␈α"II␈α"domain,␈α!sequence
␈↓ ↓H␈↓extrapolation␈α∀[Pilvar]␈α∪seemed␈α∀the␈α∪most␈α∀reasonable␈α∪beginning␈α∀task.␈α∀It␈α∪was
␈↓ ↓H␈↓quickly␈α⊃learned␈α∩that␈α⊃this␈α⊃was␈α∩too␈α⊃easy:␈α⊃humans␈α∩have␈α⊃only␈α⊃a␈α∩few␈α⊃techniques
␈↓ ↓H␈↓for␈α↔extrapolating␈α↔sequences,␈α↔and␈α↔a␈α↔very␈α↔limited␈α↔capacity␈α_for␈α↔composing
␈↓ ↓H␈↓them.␈α⊃ Thus␈α∩a␈α⊃rather␈α∩rigid␈α⊃sequence␈α∩extrapolator␈α⊃writer␈α∩may␈α⊃be␈α∩capable␈α⊃of
␈↓ ↓H␈↓generating␈α~a␈α→large␈α~class␈α~of␈α→super-human␈α~programs␈α→(see␈α~section␈α~4.2␈α→on
␈↓ ↓H␈↓Sequence-Extrapolator-Writer, in [Green]).

␈↓ ↓H␈↓The␈α~next␈α~candidates␈α~were␈α~grammatical␈α~inference␈α~and␈α~concept␈α~formation.
␈↓ ↓H␈↓Determined␈α∪not␈α∪to␈α∩choose␈α∪too␈α∪simple␈α∩a␈α∪task␈α∪again,␈α∩the␈α∪latter␈α∪program␈α∩was
␈↓ ↓H␈↓finally␈α∪decided␈α∪upon.␈α∪ The␈α∀particular␈α∪target␈α∪was␈α∪a␈α∪variant␈α∀of␈α∪[Winston].
␈↓ ↓H␈↓To␈α∃make␈α∃the␈α∃goal␈α∃more␈α∀tractable,␈α∃certain␈α∃parts␈α∃of␈α∃Winston's␈α∀description
␈↓ ↓H␈↓were␈α ignored,␈α namely␈α the␈α heuristic␈α graph-matching␈α section,␈α and␈α the
␈↓ ↓H␈↓uniformity␈α%requirement␈α$that␈α%relations␈α$on␈α%features␈α%be␈α$functionally
␈↓ ↓H␈↓indistinguishable␈α⊂from␈α⊂features.␈α⊂ This␈α⊂last␈α⊂phrase␈α⊂means␈α⊂that␈α⊂CF␈α⊂can␈α⊂store
␈↓ ↓H␈↓(MUSTNOT␈α↔(SUPPORTS␈α↔a␈α↔b))␈α↔differently␈α↔from␈α↔the␈α↔representation␈α_of␈α↔simple
␈↓ ↓H␈↓features like (TOUCHES a c).



␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 14␈↓ 	@THEORY:  DESIGN
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓It␈α≥seems␈α≥instructive␈α≥now␈α≥to␈α≤describe␈α≥how␈α≥the␈α≥target␈α≥program␈α≤should
␈↓ ↓H␈↓operate.␈α∀It␈α∀repeatedly␈α∪scans␈α∀a␈α∀scene␈α∪and␈α∀tries␈α∀to␈α∪name␈α∀it.␈α∀The␈α∀scene␈α∪is
␈↓ ↓H␈↓broken␈α⊗into␈α⊗a␈α∃set␈α⊗of␈α⊗features␈α⊗and␈α∃a␈α⊗set␈α⊗of␈α∃objects.␈α⊗Each␈α⊗feature␈α⊗is␈α∃a
␈↓ ↓H␈↓relation␈α⊗on␈α⊗one␈α⊗or␈α⊗more␈α∃objects␈α⊗in␈α⊗the␈α⊗scene.␈α⊗ Internally,␈α⊗the␈α∃program
␈↓ ↓H␈↓maintains␈α"a␈α"model␈α"for␈α!each␈α"differently-named␈α"concept␈α"it␈α"has␈α!ever
␈↓ ↓H␈↓encountered.␈α∩ The␈α⊃model␈α∩contains␈α∩a␈α⊃description␈α∩of␈α⊃the␈α∩objects␈α∩expected␈α⊃in
␈↓ ↓H␈↓the␈α∩scene,␈α∩a␈α∪set␈α∩of␈α∩features␈α∪which␈α∩must␈α∩be␈α∩present␈α∪in␈α∩the␈α∩scene␈α∪(else␈α∩it
␈↓ ↓H␈↓can't␈α∪be␈α∀the␈α∪same␈α∀as␈α∪this␈α∀concept),␈α∪a␈α∪set␈α∀of␈α∪features␈α∀which␈α∪must␈α∀not␈α∪be
␈↓ ↓H␈↓present␈α_in␈α_the␈α_scene,␈α_and␈α_a␈α_set␈α_of␈α_features␈α_which␈α_may␈α_or␈α_may␈α_not␈α_be
␈↓ ↓H␈↓present.␈α∃ Thus␈α⊗a␈α∃model␈α∃is␈α⊗like␈α∃an␈α∃archtypical␈α⊗scene␈α∃plus␈α∃a␈α⊗name.␈α∃ Each
␈↓ ↓H␈↓time␈α∩the␈α∪program␈α∩is␈α∪confronted␈α∩by␈α∪a␈α∩new␈α∪scene,␈α∩the␈α∪program␈α∩must␈α∪scan␈α∩its
␈↓ ↓H␈↓models␈α⊃until␈α⊃it␈α⊃finds␈α∩one␈α⊃which␈α⊃matches␈α⊃it.␈α∩That␈α⊃is,␈α⊃all␈α⊃the␈α∩model's␈α⊃MUST
␈↓ ↓H␈↓features␈α⊗are␈α⊗present,␈α⊗and␈α⊗all␈α∃the␈α⊗MUSTNOT␈α⊗features␈α⊗are␈α⊗absent␈α⊗from␈α∃the
␈↓ ↓H␈↓observed␈α⊃scene.␈α∩It␈α⊃informs␈α⊃the␈α∩user␈α⊃of␈α⊃this␈α∩guess,␈α⊃and␈α⊃accepts␈α∩the␈α⊃proper
␈↓ ↓H␈↓concept␈α⊂name.␈α⊂If␈α⊂it␈α⊂guessed␈α⊂incorrectly,␈α⊂it␈α⊂modifies␈α⊂its␈α⊂models.␈α⊂The␈α⊂wrong
␈↓ ↓H␈↓guess␈α_model␈α_may␈α_have␈α_features␈α_added␈α_to␈α_its␈α_MUST␈α_or␈α_MUSTNOT␈α_sets;␈α_the
␈↓ ↓H␈↓correct␈α↔concept␈α_name␈α↔model␈α↔may␈α_have␈α↔to␈α_be␈α↔modified␈α↔or␈α_(if␈α↔it's␈α_a␈α↔new
␈↓ ↓H␈↓concept)␈α⊃created␈α∩and␈α⊃inserted␈α∩into␈α⊃the␈α∩list␈α⊃of␈α∩models.␈α⊃ See␈α∩the␈α⊃flowchart
␈↓ ↓H␈↓on page A4.7.

␈↓ ↓H␈↓For example, a scene might be:     OBJECTS a,b,c,d
␈↓ ↓H␈↓        (GREEN a)(BLUE c)(TOUCHING c d)(SUPPORTS a c)(SUPPORTS b c).

␈↓ ↓H␈↓A model for an arch might be:      OBJECTS a,b,c
␈↓ ↓H␈↓        MUST    (SUPPORTS a c)(SUPPORTS b c)
␈↓ ↓H␈↓        MUSTNOT (TOUCHES a b)
␈↓ ↓H␈↓        MAY     (GREEN a)(WEDGE c)(PRISM a)(BLOCK b)(PARALLEL a b)

␈↓ ↓H␈↓Suppose␈α↔that␈α↔the␈α⊗target␈α↔program␈α↔reads␈α⊗in␈α↔the␈α↔above␈α⊗scene␈α↔and␈α↔tries␈α⊗to
␈↓ ↓H␈↓match␈α∀it␈α∃to␈α∀the␈α∀above␈α∃model␈α∀for␈α∀consistency.␈α∃ The␈α∀MUST␈α∃relations␈α∀should
␈↓ ↓H␈↓all␈α⊃be␈α∩present.␈α⊃ Yes,␈α⊃the␈α∩scene␈α⊃does␈α⊃contain␈α∩(SUPPORTS␈α⊃a␈α⊃c)␈α∩and␈α⊃(SUPPORTS
␈↓ ↓H␈↓b␈α↔c).␈α↔Next,␈α⊗the␈α↔MUSTNOT␈α↔relations␈α⊗must␈α↔be␈α↔absent␈α⊗from␈α↔the␈α↔scene.␈α⊗Sure
␈↓ ↓H␈↓enough,␈α⊂(TOUCHES␈α⊂a␈α⊂b)␈α⊂isn't␈α⊂there.␈α⊂ So␈α⊂the␈α⊂model␈α⊂and␈α⊂scene␈α⊂are␈α⊂consistent.
␈↓ ↓H␈↓If␈α⊃the␈α⊃user␈α⊃verifies␈α∩this␈α⊃guess,␈α⊃then␈α⊃the␈α∩MAY␈α⊃set␈α⊃is␈α⊃augmented␈α∩with␈α⊃(BLUE
␈↓ ↓H␈↓c)␈α∩and␈α∩(TOUCHING␈α∪c␈α∩d),␈α∩and␈α∪the␈α∩OBJECTS␈α∩set␈α∩is␈α∪augmented␈α∩with␈α∩"d."␈α∪If␈α∩the
␈↓ ↓H␈↓user␈α∀denies␈α∀that␈α∪the␈α∀scene␈α∀is␈α∪an␈α∀arch,␈α∀the␈α∪target␈α∀program␈α∀sees␈α∀if␈α∪there
␈↓ ↓H␈↓are␈α⊃any␈α⊃relations␈α⊃in␈α⊃the␈α⊃model's␈α∩MAY␈α⊃set␈α⊃which␈α⊃do␈α⊃not␈α⊃occur␈α⊃in␈α∩the␈α⊃scene.
␈↓ ↓H␈↓If␈α⊂so,␈α⊂one␈α⊂of␈α⊂them␈α⊂(e.g.,␈α⊂(PARALLEL␈α⊂a␈α⊂b))␈α⊂will␈α⊂be␈α⊂transferred␈α⊂from␈α⊂the␈α⊂MAY
␈↓ ↓H␈↓to␈α⊂the␈α⊂MUST␈α⊂set.␈α⊂ If␈α⊂no␈α⊂such␈α⊂feature␈α⊂existed,␈α⊂the␈α⊂program␈α⊂would␈α⊂look␈α⊂for␈α⊂a
␈↓ ↓H␈↓feature␈α⊃present␈α⊃in␈α⊃the␈α∩scene␈α⊃but␈α⊃absent␈α⊃from␈α∩all␈α⊃sets␈α⊃of␈α⊃the␈α∩model␈α⊃(e.g.,
␈↓ ↓H␈↓(BLUE␈α≤c)),␈α≤and␈α≤insert␈α≤it␈α≤into␈α≤the␈α≤MUSTNOT␈α≤set.␈α≤ Also,␈α≤if␈α≤the␈α≤user
␈↓ ↓H␈↓disagreed␈α⊗with␈α⊗the␈α⊗guess,␈α⊗he␈α⊗would␈α↔be␈α⊗asked␈α⊗what␈α⊗the␈α⊗true␈α⊗name␈α↔of␈α⊗the
␈↓ ↓H␈↓concept␈α⊃was,␈α∩and␈α⊃that␈α⊃concept's␈α∩model␈α⊃would␈α⊃have␈α∩its␈α⊃MAY␈α⊃set␈α∩augmented␈α⊃by
␈↓ ↓H␈↓any␈α∀new␈α∀features␈α∪in␈α∀the␈α∀scene.␈α∪Any␈α∀features␈α∀on␈α∪its␈α∀MUST␈α∀or␈α∀MUSTNOT␈α∪sets
␈↓ ↓H␈↓which contradicted the scene would be transferred to the MAY set.

␈↓ ↓H␈↓After␈α∪the␈α∪target␈α∪concept␈α∀formation␈α∪program␈α∪was␈α∪specified,␈α∪it␈α∀was␈α∪trimmed


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 15␈↓ 	@THEORY:  DESIGN
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓and␈α~then␈α→rewritten␈α~as␈α~a␈α→structured␈α~program␈α→[Gadwa].␈α~Next,␈α~a␈α→complete
␈↓ ↓H␈↓dialogue␈α∪was␈α∪simulated␈α∪between␈α∀the␈α∪user␈α∪and␈α∪a␈α∪human␈α∀programmer␈α∪(referred
␈↓ ↓H␈↓to␈α∃as␈α∃the␈α∃system-player)␈α∃playing␈α∀the␈α∃role␈α∃of␈α∃an␈α∃"intelligent"␈α∀automatic
␈↓ ↓H␈↓programming␈α∀system␈α∀(similar␈α∀to,␈α∀e.g.,␈α∀[Balzer]).␈α∀ The␈α∀system-player␈α∀kept
␈↓ ↓H␈↓careful␈α records␈α as␈α he␈α programmed,␈α and␈α tried␈α to␈α create␈α a␈α bug-free
␈↓ ↓H␈↓structured␈α→program.␈α→ The␈α→dialogue␈α→was␈α→then␈α→annotated:␈α→after␈α→each␈α_user
␈↓ ↓H␈↓response,␈α∩comments␈α∩were␈α∩inserted␈α⊃which␈α∩described␈α∩the␈α∩"states"␈α∩the␈α⊃system-
␈↓ ↓H␈↓player␈α∩had␈α⊃gone␈α∩through␈α∩before␈α⊃printing␈α∩his␈α⊃next␈α∩response.␈α∩ This␈α⊃included
␈↓ ↓H␈↓blind␈α↔paths␈α↔which␈α_were␈α↔tried,␈α↔use␈α↔of␈α_outside␈α↔world␈α↔knowledge,␈α_and,␈α↔in
␈↓ ↓H␈↓general,␈α⊂was␈α⊂meant␈α⊂to␈α⊂be␈α⊂the␈α⊂"intelligence"␈α⊂necessary␈α⊂to␈α⊂do␈α⊂the␈α⊂task.␈α⊂ The
␈↓ ↓H␈↓fear␈α~was␈α~that␈α~a␈α~system␈α≠could␈α~be␈α~built␈α~which␈α~synthesized␈α≠the␈α~concept
␈↓ ↓H␈↓formation␈α∪program,␈α∪and␈α∪yet␈α∀was␈α∪so␈α∪unintelligent␈α∪that␈α∪nothing␈α∀was␈α∪learned
␈↓ ↓H␈↓from␈α∀it.␈α∃(see␈α∀section␈α∀4.1␈α∃on␈α∀PW1,␈α∀for␈α∃example,␈α∀in␈α∃[Green]).␈α∀ Hopefully,
␈↓ ↓H␈↓any␈α∪system␈α∪which␈α∪(i)␈α∪got␈α∪the␈α∪target␈α∪program␈α∪correctly,␈α∪(ii)␈α∪followed␈α∩our
␈↓ ↓H␈↓initial␈α∩dialogue,␈α⊃and,␈α∩most␈α∩importantly,␈α⊃(iii)␈α∩went␈α⊃through␈α∩the␈α∩same␈α⊃line
␈↓ ↓H␈↓of␈α⊂reasoning␈α⊂that␈α⊂our␈α⊂comments␈α⊂indicated␈α⊂the␈α⊂system-player␈α⊂followed,␈α⊂would
␈↓ ↓H␈↓be␈α"far␈α!along␈α"the␈α"road␈α!toward␈α"intelligence.␈α! A␈α"corollary␈α"of␈α!this
␈↓ ↓H␈↓incremental␈α∩annotated␈α⊃protocol␈α∩approach␈α∩is␈α⊃that␈α∩the␈α⊃abilities␈α∩of␈α∩the␈α⊃user
␈↓ ↓H␈↓must␈α∪coincide␈α∪with␈α∪those␈α∪of␈α∪the␈α∪subject␈α∪who␈α∪participated␈α∪in␈α∪the␈α∩protocol
␈↓ ↓H␈↓(see␈α≥also␈α≥[Woods]).␈α≥The␈α≥system␈α≥would␈α≥be␈α≥far␈α≥along␈α≥the␈α≡road␈α≥toward
␈↓ ↓H␈↓automatic␈α∀programming␈α∀if␈α∀it␈α∀also␈α∀(iv)␈α∀was␈α∀able␈α∀to␈α∀write␈α∀CF␈α∀from␈α∀several
␈↓ ↓H␈↓dialogues,␈α≠from␈α≠several␈α~users,␈α≠with␈α≠little␈α~preparation.␈α≠PUP6␈α≠was␈α~not
␈↓ ↓H␈↓designed to do this, and in the end it proved to be a serious deficit.

␈↓ ↓H␈↓The␈α_target␈α_user␈α_must␈α_be␈α_familiar␈α_with␈α_LISP,␈α_well-grounded␈α_in␈α_computer
␈↓ ↓H␈↓science,␈α∩and␈α⊃have␈α∩the␈α∩input/output␈α⊃behavior␈α∩of␈α⊃the␈α∩concept␈α∩formation␈α⊃(CF)
␈↓ ↓H␈↓program␈α∃very␈α⊗clearly␈α∃in␈α∃his␈α⊗mind.␈α∃The␈α∃natural␈α⊗language␈α∃front␈α∃end␈α⊗is␈α∃so
␈↓ ↓H␈↓brittle␈α⊗that␈α⊗the␈α⊗user␈α⊗must␈α∃also␈α⊗phrase␈α⊗his␈α⊗responses␈α⊗very␈α⊗similarly␈α∃to
␈↓ ↓H␈↓those␈α∀of␈α∪the␈α∀original␈α∪protocol␈α∀subject.␈α∪ This␈α∀factor␈α∀prevented␈α∪dialogues
␈↓ ↓H␈↓from multiple users from being successful.

␈↓ ↓H␈↓At␈α≥this␈α≥point,␈α≥most␈α≥of␈α≥the␈α≥ideas␈α≥described␈α≥in␈α≥section␈α≡3␈α≥surfaced,
␈↓ ↓H␈↓including␈α⊃a␈α⊃rough␈α⊃initial␈α∩set␈α⊃of␈α⊃BEINGs.␈α⊃ Each␈α∩one␈α⊃had␈α⊃not␈α⊃much␈α∩more␈α⊃than
␈↓ ↓H␈↓a␈α↔name␈α_and␈α↔a␈α↔vague␈α_description␈α↔of␈α_what␈α↔it␈α↔must␈α_do.␈α↔ The␈α_dialogue␈α↔was
␈↓ ↓H␈↓cycled␈α∪through␈α∪again,␈α∪painstakingly,␈α∀and␈α∪the␈α∪comments␈α∪were␈α∪replaced␈α∀by␈α∪a
␈↓ ↓H␈↓description␈α∀of␈α∃which␈α∀BEINGs␈α∀would␈α∃call␈α∀which␈α∀other␈α∃BEINGs,␈α∀why,␈α∃and␈α∀the
␈↓ ↓H␈↓results␈α→of␈α→each␈α_such␈α→call.␈α→ The␈α→constraints␈α_on␈α→each␈α→BEING␈α→thus␈α_grew,
␈↓ ↓H␈↓sometimes␈α∀changed,␈α∀and␈α∀occasionally␈α∀a␈α∀new␈α∀BEING␈α∀or␈α∀BEING␈α∀part␈α∀had␈α∀to␈α∀be
␈↓ ↓H␈↓added␈α⊃to␈α∩the␈α⊃community.␈α⊃ This␈α∩process␈α⊃was␈α⊃long␈α∩(200␈α⊃hours)␈α⊃and␈α∩produced␈α⊃a
␈↓ ↓H␈↓long␈α∪(200-page)␈α∪protocol,␈α∪actually␈α∀a␈α∪hand␈α∪trace␈α∪of␈α∪the␈α∀system␈α∪execution.
␈↓ ↓H␈↓About␈α⊂eighty␈α⊂BEINGs␈α⊂were␈α⊂needed:␈α⊂a␈α⊂dozen␈α⊂domain-specific␈α⊂ones␈α⊂and␈α⊂the␈α⊂rest
␈↓ ↓H␈↓domain-independent␈α_programming␈α_knowledge.␈α_ About␈α_thirty␈α_different␈α_BEING
␈↓ ↓H␈↓parts␈α→were␈α~called␈α→for,␈α→and␈α~they␈α→are␈α→listed␈α~in␈α→Appendix␈α→1.␈α~ The␈α→next
␈↓ ↓H␈↓appendix␈α∀describes␈α∪each␈α∀BEING␈α∪briefly;␈α∀only␈α∪the␈α∀most␈α∀important␈α∪knowledge
␈↓ ↓H␈↓is mentioned.

␈↓ ↓H␈↓A␈α⊗result␈α⊗of␈α⊗this␈α⊗method␈α∃of␈α⊗incremental␈α⊗specification␈α⊗of␈α⊗BEINGs␈α⊗is␈α∃that


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 16␈↓ 	@THEORY:  DESIGN
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓each␈α⊂BEING␈α⊂has␈α⊂only␈α⊂those␈α⊂parts␈α⊂which␈α⊂are␈α⊂going␈α⊂to␈α⊂be␈α⊂used␈α⊂sometime␈α⊂during
␈↓ ↓H␈↓the␈α∪ensuing␈α∪dialogue.␈α∪This␈α∪seemed␈α∪too␈α∪specific,␈α∪so␈α∪some␈α∪effort␈α∪was␈α∩spent
␈↓ ↓H␈↓filling␈α⊗out␈α↔parts␈α⊗that␈α↔weren't␈α⊗strictly␈α⊗necessary␈α↔to␈α⊗write␈α↔the␈α⊗concept
␈↓ ↓H␈↓formation␈α∩program.␈α∩ Perhaps␈α∩more␈α⊃careful␈α∩attention␈α∩to␈α∩this␈α∩activity␈α⊃would
␈↓ ↓H␈↓have␈α⊃made␈α∩the␈α⊃system␈α⊃more␈α∩tolerant␈α⊃of␈α⊃changes␈α∩in␈α⊃the␈α⊃dialogue.␈α∩During␈α⊃the
␈↓ ↓H␈↓course␈α⊃of␈α∩massaging␈α⊃PUP6␈α∩into␈α⊃writing␈α∩the␈α⊃other␈α∩target␈α⊃programs,␈α∩very␈α⊃few
␈↓ ↓H␈↓additional␈α⊃parts␈α∩had␈α⊃to␈α∩be␈α⊃added␈α∩to␈α⊃existing␈α∩BEINGs.␈α⊃Typically,␈α∩either␈α⊃an
␈↓ ↓H␈↓old␈α⊃part␈α⊃had␈α⊃to␈α∩be␈α⊃generalized␈α⊃or␈α⊃else␈α∩a␈α⊃new␈α⊃BEING␈α⊃created.␈α∩After␈α⊃writing
␈↓ ↓H␈↓CF, GI, and INF, there are now an even hundred BEINGs in PUP6.

␈↓ ↓H␈↓The␈α⊂data␈α⊂on␈α⊂how␈α⊂filled␈α⊂out␈α⊂each␈α⊂BEING␈α⊂was␈α⊂--␈α⊂and␈α⊂had␈α⊂to␈α⊂be␈α⊂--␈α⊂is␈α⊂presented
␈↓ ↓H␈↓in␈α⊂several␈α⊂forms,␈α⊂here␈α⊂and␈α⊂in␈α⊂the␈α⊂appendices.␈α⊂ In␈α⊂Appendix␈α⊂1,␈α⊂next␈α⊂to␈α⊂each
␈↓ ↓H␈↓BEING␈α≠part␈α≠is␈α~the␈α≠percentage␈α≠of␈α~BEINGs␈α≠which␈α≠had␈α~to␈α≠have␈α≠this␈α~part
␈↓ ↓H␈↓specified␈α∪for␈α∪them.␈α∪Appendix␈α∪3␈α∪reveals␈α∪how␈α∪each␈α∪BEING␈α∪was␈α∪actually␈α∩used,
␈↓ ↓H␈↓including␈α∪the␈α∪number␈α∩of␈α∪its␈α∪BEING␈α∩parts␈α∪which␈α∪exist␈α∩and␈α∪were␈α∪called␈α∩upon
␈↓ ↓H␈↓during␈α∩a␈α∪dialogue.␈α∩On␈α∪the␈α∩average,␈α∪each␈α∩BEING␈α∪part␈α∩was␈α∪present␈α∩in␈α∪36%␈α∩of
␈↓ ↓H␈↓all␈α⊃BEINGs,␈α⊃and,␈α⊃also␈α⊃on␈α⊃the␈α∩average,␈α⊃each␈α⊃BEING␈α⊃had␈α⊃10.5␈α⊃of␈α⊃its␈α∩29␈α⊃parts
␈↓ ↓H␈↓specified.␈α∃This␈α⊗says␈α∃that␈α∃each␈α⊗BEING␈α∃was␈α∃actually␈α⊗asked␈α∃a␈α∃third␈α⊗of␈α∃all
␈↓ ↓H␈↓possible␈α∪questions␈α∪and␈α∩that␈α∪each␈α∪question␈α∩was␈α∪needed␈α∪in␈α∩about␈α∪a␈α∪third␈α∩of
␈↓ ↓H␈↓all the BEINGs.

␈↓ ↓H␈↓The␈α⊃principle␈α∩that␈α⊃"everything␈α∩is␈α⊃BEINGs"␈α∩was␈α⊃relaxed␈α∩in␈α⊃the␈α∩interests␈α⊃of
␈↓ ↓H␈↓absolute␈α⊂CPU␈α⊂time␈α⊂and␈α⊂feasibility␈α⊂of␈α⊂coding.␈α⊂ Besides␈α⊂BEINGs,␈α⊂PUP6␈α⊂employs
␈↓ ↓H␈↓functions,␈α∀demons␈α∪and␈α∀an␈α∪assertional␈α∀data␈α∪base.␈α∀ During␈α∀the␈α∪programming,
␈↓ ↓H␈↓100␈α∃small␈α∃functions␈α∃were␈α∃written␈α∀to␈α∃supplement␈α∃the␈α∃language.␈α∃ Most␈α∀were
␈↓ ↓H␈↓typical␈α∃current␈α∀AI␈α∃language␈α∀features␈α∃[Bobrow]␈α∃(pattern-matching,␈α∀demons,
␈↓ ↓H␈↓special␈α∩data␈α∩types),␈α∩or␈α⊃tiny␈α∩additions␈α∩to␈α∩INTERLISP␈α∩[Teitelman]␈α⊃(flatten,
␈↓ ↓H␈↓set-difference),␈α⊂or␈α⊂functions␈α⊂which␈α⊂manage␈α⊂BEINGs␈α⊂(add-a-new-being,␈α⊂print-
␈↓ ↓H␈↓a-being's-parts).␈α⊂ Many␈α⊂of␈α⊂these␈α⊂features␈α⊂were␈α⊂simplified␈α⊂(and␈α⊂speeded␈α⊂up)
␈↓ ↓H␈↓by␈α⊂using␈α⊂the␈α⊂knowledge␈α⊂that␈α⊂PUP6␈α⊂was␈α⊂to␈α⊂be␈α⊂an␈α⊂AP␈α⊂system.␈α⊂ For␈α⊂example,␈α⊂all
␈↓ ↓H␈↓the␈α∃different␈α⊗types␈α∃of␈α∃assertions␈α⊗that␈α∃an␈α∃AP␈α⊗system␈α∃might␈α∃want␈α⊗to␈α∃make
␈↓ ↓H␈↓deal␈α⊃with␈α∩different␈α⊃concerns␈α∩of␈α⊃programming.␈α∩ Thus␈α⊃a␈α∩group␈α⊃of␈α∩about␈α⊃forty
␈↓ ↓H␈↓different␈α⊗assertion␈α↔patterns␈α⊗could␈α↔be␈α⊗fixed,␈α⊗each␈α↔one␈α⊗becoming␈α↔a␈α⊗named
␈↓ ↓H␈↓list;␈α$this␈α$almost␈α$eliminated␈α$searching␈α$during␈α$retrieval␈α$from␈α$the
␈↓ ↓H␈↓assertional base.

␈↓ ↓H␈↓The␈α⊃initial␈α∩programming␈α⊃took␈α∩only␈α⊃a␈α∩hundred␈α⊃hours,␈α∩but␈α⊃several␈α∩times␈α⊃that
␈↓ ↓H␈↓amount␈α⊂of␈α⊂work␈α⊂was␈α⊂required␈α⊂before␈α⊂the␈α⊂system␈α⊂was␈α⊂debugged␈α⊂to␈α⊂the␈α⊂point␈α⊂of
␈↓ ↓H␈↓successfully following the annotated dialogue.










␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 17␈↓ 	@THEORY:  DESIGN
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓␈↓↓6.  REALITY: EXAMPLES␈↓

␈↓ ↓H␈↓An␈α≤example␈α≠of␈α≤the␈α≤PUP6␈α≠community␈α≤of␈α≤BEINGs␈α≠interacting␈α≤will␈α≤now␈α≠be
␈↓ ↓H␈↓presented.␈α⊃Let's␈α∩jump␈α⊃one␈α⊃third␈α∩of␈α⊃the␈α⊃way␈α∩into␈α⊃the␈α⊃dialogue␈α∩which␈α⊃writes
␈↓ ↓H␈↓CF.␈α≥The␈α≥system␈α≥learns␈α≥it␈α≥must␈α≥compare␈α≥the␈α≥input␈α≥scene␈α≡against␈α≥its
␈↓ ↓H␈↓internally␈α⊗stored␈α↔models␈α⊗of␈α↔concepts,␈α⊗until␈α⊗it␈α↔finds␈α⊗one␈α↔which␈α⊗doesn't
␈↓ ↓H␈↓fail␈α∩the␈α∩comparison.␈α∪ It␈α∩asks␈α∩the␈α∪user␈α∩what␈α∩it␈α∩means␈α∪for␈α∩scene␈α∩S␈α∪to␈α∩fail
␈↓ ↓H␈↓the comparison to model M. The user replies,
␈↓ ↓H␈↓␈↓βM  is  incompatible  with  the  observed  features  of  S␈↓.

␈↓ ↓H␈↓ The␈α∩IDEN␈α⊃part␈α∩of␈α∩the␈α⊃CONTRADICTS␈α∩BEING␈α⊃recognizes␈α∩this␈α∩sentence␈α⊃pattern,
␈↓ ↓H␈↓and transforms it to
␈↓ ↓H␈↓(FORSOME  F  IN M_FEATURES (specialized:CONTRADICTS F S_FEATURES)).
␈↓ ↓H␈↓ The BEING
␈↓ ↓H␈↓which inserts this into the synthesized code requires that  the  user
␈↓ ↓H␈↓pick  some  proper  name  for  the function specialized:CONTRADICTS;
␈↓ ↓H␈↓this will be a streamlined contradiction test written by the
␈↓ ↓H␈↓CONTRADICTS BEING.  Say the user reponds by calling it
␈↓ ↓H␈↓#. The function FORSOME is so primitive that no  specialized
␈↓ ↓H␈↓version  of  it  is  written normally.
␈↓ ↓H␈↓        The system informs the user of
␈↓ ↓H␈↓where it is by simulating a cursor pointing into a graph  of  program
␈↓ ↓H␈↓code.  This  is  analogous  to  the textual and dynamic indices which
␈↓ ↓H␈↓[Dijkstra] suggests.
␈↓ ↓H␈↓        Later in the  dialogue,  PUP6  decides  it  must
␈↓ ↓H␈↓expand the function #. The CONTRADICTS BEING is again called on; this
␈↓ ↓H␈↓time  it  is  asked  how  to  write  a  specialized  version   of   a
␈↓ ↓H␈↓contradiction  test.  It  replies that SOME_OF the following types of
␈↓ ↓H␈↓contradiction  may  occur:        PROBABILITY:0,  PROBABILITY:1,  and
␈↓ ↓H␈↓PROBABILITY:ε(0,1).    This   is   the  germ  of  the  idea  for  the
␈↓ ↓H␈↓MUSTNOT/MUST/MAY categorization of features. The SOME_OF BEING  takes
␈↓ ↓H␈↓control,  and  asks  if  the  decision can be deferred.  The DEFERRAL
␈↓ ↓H␈↓BEING looks about, first asking if there is  any  non-null  piece  of
␈↓ ↓H␈↓code  that  all three have in common.  This fails, and eventually the
␈↓ ↓H␈↓DEFERRAL BEING reports failure.  SOME_OF sees it has  no  basis  upon
␈↓ ↓H␈↓which  to  form  a  guess,  and  wants somebody to ask the user.  The
␈↓ ↓H␈↓ASK_USER BEING takes over, and quickly finds out what it is that PUP6
␈↓ ↓H␈↓wants  to  learn.  The names of the three choices are so cryptic that
␈↓ ↓H␈↓their WHAT and HOW parts are printed out to  the  user,  as  well  as
␈↓ ↓H␈↓their names.  The user types back his choices, in our case all three.
␈↓ ↓H␈↓SOME_OF  composes  three  new  function   calls,   separated   by   a
␈↓ ↓H␈↓conditional:







␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 18␈↓ 	 REALITY:  EXAMPLES
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓



␈↓ ↓H␈↓(COND ( (IS_OF_TYPE         F   PROBABILITY:0_PART_OF_M_FEATURES)
␈↓ ↓H␈↓        (PROBABILITY:0_#    F    S_FEATURES))
␈↓ ↓H␈↓      ( (IS_OF_TYPE         F   PROBABILITY:1_PART_OF_M_FEATURES)
␈↓ ↓H␈↓        (PROBABILITY:1_#    F    S_FEATURES))
␈↓ ↓H␈↓      ( (IS_OF_TYPE         F   PROBABILITYε(0,1)_PART_OF_M_FEATURES)
␈↓ ↓H␈↓        (PROBABILITYε(0,1)_#  F  S_FEATURES)))
␈↓ ↓H␈↓TRICHOTOMY recognizes this as a split on a function's  values
␈↓ ↓H␈↓being  =0,  =1,  or  between  zero  and  one.   It  asks whether this
␈↓ ↓H␈↓particular  function  can  only  range  over  the   interval   [0,1].
␈↓ ↓H␈↓PROBABILITY  answers  affirmatively,  so  SOME_OF  replaces the final
␈↓ ↓H␈↓IS_OF_TYPE test by the constant T.  Later on, PUP6 must  worry  about
␈↓ ↓H␈↓the  other  two  tests, and about the three contradiction predicates.
␈↓ ↓H␈↓These latter entities know (their ENCODABLE  parts  tell  them)  that
␈↓ ↓H␈↓they  are  immediately encodable. A probability=0 contradiction means
␈↓ ↓H␈↓that arg1 must not occur in the  world  arg2  yet  it  does.  So  the
␈↓ ↓H␈↓META-CODE  of  the  PROBABILITY:0_CONTRADICTION  BEING  is defined as
␈↓ ↓H␈↓(MEMBER arg1 arg2).  This corresponds to a MUSTNOT feature F which is
␈↓ ↓H␈↓present  in  the  world  (in  the  set of S_FEATURES of the scene.) A
␈↓ ↓H␈↓probability=1 contradiction occurs when a feature arg1 must occur  in
␈↓ ↓H␈↓the  world  arg2,  yet  it  doesn't. So its definition is simply (NOT
␈↓ ↓H␈↓(MEMBER arg1 arg2)).  It is impossible for a feature with probability
␈↓ ↓H␈↓in  (0,1)  to  be  in  contradiction  with any world (lacking negated
␈↓ ↓H␈↓features), so this third predicate is defined as  the  constant  NIL.
␈↓ ↓H␈↓That  is,  if F is a MAY feature of the model M, then there can be no
␈↓ ↓H␈↓contradiction between F and ␈↓βany␈↓ features of the scene S.
␈↓ ↓H␈↓        When a BEING is said to do or recognize or know something, as
␈↓ ↓H␈↓in the preceding and following paragraphs, what is actually meant  is
␈↓ ↓H␈↓that  one or more of its parts specificly encode that knowledge.  All
␈↓ ↓H␈↓the parts of the hundred BEINGs in PUP6 were coded by  hand,  not  by
␈↓ ↓H␈↓each  other.  They then can encode other BEINGs, interacting only via
␈↓ ↓H␈↓the dialogue.
␈↓ ↓H␈↓        The  IS_OF_TYPE  BEING  recognizes  that it must work hard to
␈↓ ↓H␈↓replace each of the two case tests, unless  M_FEATURES  is  organized
␈↓ ↓H␈↓permanently  into  three  parts (thus permitting the complex function
␈↓ ↓H␈↓"IS_OF_TYPE" to be replaced by the simple one "MEMBER" in  the  above
␈↓ ↓H␈↓piece of code). The STRUCTURE_INDUCING BEING will take over, to probe
␈↓ ↓H␈↓the permissability and the difficulty of such a constraint.  It finds
␈↓ ↓H␈↓nothing  about  this  tripartite  structuring  which could damage any
␈↓ ↓H␈↓earlier synthesized code, and asks the  user's  blessing.  Notes  are
␈↓ ↓H␈↓added  to  the list of coding warnings, stating that any reference to
␈↓ ↓H␈↓the entire list of M_FEATURES must be replaced by  either  APPEND  of
␈↓ ↓H␈↓the  three  new lists, or else by three separate statements. GET_NAME
␈↓ ↓H␈↓is indirectly called, and he has the user name the three new sets  of
␈↓ ↓H␈↓features; say he responds by calling them MUSTNOT, MUST, and MAY. The
␈↓ ↓H␈↓system would at this point say to draw an arrow on its graph of code,
␈↓ ↓H␈↓from the function call (# F S_FEATURES) to the new block of code:


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 19␈↓ 	 REALITY:  EXAMPLES
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓



␈↓ ↓H␈↓  (COND ( (MEMBER        F   MUSTNOT_PART_OF_M)
␈↓ ↓H␈↓          (MEMBER        F   S_FEATURES))
␈↓ ↓H␈↓        ( (MEMBER        F   MUST_PART_OF_M)
␈↓ ↓H␈↓          (NOT (MEMBER   F   S_FEATURES))
␈↓ ↓H␈↓        (  T (COMMENT THIS "T" REPLACES "MEMBER F MAY_PART_OF_M")
␈↓ ↓H␈↓           NIL))
␈↓ ↓H␈↓        This is now the META:CODE part of the new BEING called #.
␈↓ ↓H␈↓Most of the other parts are taken from its generalization, namely
␈↓ ↓H␈↓CONTRADICTS. During the course of writing this piece, however, some
␈↓ ↓H␈↓of these parts would be slightly changed. For example, its reason
␈↓ ↓H␈↓for existing would be strengthened when the simple MEMBER function
␈↓ ↓H␈↓calls replaced the slow IS_OF_TYPE  BEING calls.
␈↓ ↓H␈↓The actual transcript of this part of the dialogue imay  be  seen  on
␈↓ ↓H␈↓pages  A5.16  to  A5.20.  Notice that only a few messages have passed
␈↓ ↓H␈↓back and forth during all this processing.  The user has the  feeling
␈↓ ↓H␈↓of  merely  directing, constraining, and watching the activities of a
␈↓ ↓H␈↓busy programmer.   Unfortunately, "the user" is  not  generic;  there
␈↓ ↓H␈↓was  only one successful user. As was mentioned earlier, PUP6 insists
␈↓ ↓H␈↓on doing structured programming,  so  its  traces  are  superficially
␈↓ ↓H␈↓similar to  macro  expansion. Despite this concentration on planning,
␈↓ ↓H␈↓no BEINGs system
␈↓ ↓H␈↓should mistakenly halt so long as any details remain.


























␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 20␈↓ 	 REALITY:  EXAMPLES
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓␈↓↓7. REALITY:  RESULTS␈↓
␈↓ ↓H␈↓        The  character of the dialogue (described in Section 6 and in
␈↓ ↓H␈↓Appendix 5) is, of course, one important measure of the  intelligence
␈↓ ↓H␈↓of  an  AP  system.   One which asked "What is the first instruction?
␈↓ ↓H␈↓What is the second...?" would be universal but worse than useless. In
␈↓ ↓H␈↓this  section  are  some  proposed  questions  one  should  ask  when
␈↓ ↓H␈↓confronted by a new AP system and some measures of performance of any
␈↓ ↓H␈↓AP system which generates code heuristically from a dialogue.
␈↓ ↓H␈↓        The questions break into two categories. First, one wants  to
␈↓ ↓H␈↓know  what the system does.  Most important, does it write a program?
␈↓ ↓H␈↓If  so,  how  complex  is  that  task,  and  what  is   the   program
␈↓ ↓H␈↓specification  like?     How precise must the user be:    may he err,
␈↓ ↓H␈↓forget, change his mind?  How detailed must his  dialogue  be?    How
␈↓ ↓H␈↓closely  does  the  dialogue determine the details of the final code?
␈↓ ↓H␈↓How does the user know where he is during the dialogue?
␈↓ ↓H␈↓        Quite  seriously, an important question is whether the system
␈↓ ↓H␈↓writes a second program.  If so, how does it relate to the first  one
␈↓ ↓H␈↓synthesized?    How much of the AP system is actually used in writing
␈↓ ↓H␈↓␈↓βboth␈↓ programs?  One should ask what the full range of programs is
␈↓ ↓H␈↓which  the system has successfully synthesized. The dual questions to
␈↓ ↓H␈↓these inquire whether a program may be generated by several different
␈↓ ↓H␈↓dialogues,  and  what  the  range  of variability is. Similarly, what
␈↓ ↓H␈↓about the target language: is it a parameter? how does it  relate  to
␈↓ ↓H␈↓the language the system is written in?
␈↓ ↓H␈↓        Does the system modify as well as write code?     If so,  can
␈↓ ↓H␈↓it  modify  anybody's,  or only those programs it has written itself?
␈↓ ↓H␈↓What is its "style" of programming? One also wishes to know the  size
␈↓ ↓H␈↓of  the tool as well as the size of the job: How does the system size
␈↓ ↓H␈↓compare to target program size?
␈↓ ↓H␈↓        Efficiency considerations are often the crucial
␈↓ ↓H␈↓pragmatic ones. Economics and current hardware restrict the amount of
␈↓ ↓H␈↓computation  which  may be done in toto; the expected lifetime of the
␈↓ ↓H␈↓universe restricts us from using the  most  elegant  algorithms;  and
␈↓ ↓H␈↓human  patience  restricts the interaction delay time (to a minute or
␈↓ ↓H␈↓two of real time). One must therefore  ask  things  like
␈↓ ↓H␈↓how  much  time  and  space  it  requires,  how long a delay there is
␈↓ ↓H␈↓between user inputs, etc.
␈↓ ↓H␈↓        The  second  class of questions concerns the theoretical side
␈↓ ↓H␈↓of the AP system.  What new ideas is it meant to experiment with? How
␈↓ ↓H␈↓do each of these ideas fare?  Does it write its code in the right way
␈↓ ↓H␈↓(does it ask the right questions of  the  user  at  just  the  proper
␈↓ ↓H␈↓times)?   How extendable is it: how difficult is it to add new pieces
␈↓ ↓H␈↓of knowledge and to modify old ones?   Could  it  write  programs  in
␈↓ ↓H␈↓various fields, in various styles, in various sizes?
␈↓ ↓H␈↓        How is knowledge  represented  internally?    Is  any  of  it
␈↓ ↓H␈↓duplicated? If so, what and why? Why doesn't this system solve the AP
␈↓ ↓H␈↓problem?
␈↓ ↓H␈↓        PUP6's  answers  to most of the these questions are scattered

␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 21␈↓ 	/REALITY:  RESULTS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓throughout the earlier sections of this paper.  Below are its answers
␈↓ ↓H␈↓to the remaining questions.  Although BEINGs can theoretically handle
␈↓ ↓H␈↓user errors, PUP6 was set up expecting that the user would never  err
␈↓ ↓H␈↓or  forget.  He could, after the program was finished, try it out and
␈↓ ↓H␈↓describe how he wished it changed. Occasionally, PUP6  actually  make
␈↓ ↓H␈↓the  right modifications. For example, INF,
␈↓ ↓H␈↓the simple data storage and retrieval
␈↓ ↓H␈↓system which was written, was supposed to store and retrieve airline
␈↓ ↓H␈↓reservations.   After the synthesis is finished, the user tries
␈↓ ↓H␈↓out the program and finds that he is unable to delete more  than  one
␈↓ ↓H␈↓reservation  with  any  single  command. He complains about this, and
␈↓ ↓H␈↓PUP6 modifies the program so that he may specify a pattern,  and  all
␈↓ ↓H␈↓reservations  matching  that  pattern  will  be  purged.   While
␈↓ ↓H␈↓assumptions of absolute
␈↓ ↓H␈↓user reliability are reasonable for  little  programs,
␈↓ ↓H␈↓they  break  down  when the tasks reach the size of tens of pages and
␈↓ ↓H␈↓hours.
␈↓ ↓H␈↓        Let  us  briefly  describe  GI  and  INF, the second and
␈↓ ↓H␈↓third programs PUP6 synthesized.   GI  is  a  simple
␈↓ ↓H␈↓grammatical inference program. It builds up a set a plausible  rules,
␈↓ ↓H␈↓rather  than  enumerating  through  the space of all grammars. Yet it
␈↓ ↓H␈↓lacks most of the "tricks" of  the  best  g.i.  programs.   The  user
␈↓ ↓H␈↓repeatedly specifies a string, labelled LEGAL, ILLEGAL, or ??. In the
␈↓ ↓H␈↓latter case, GI must print out its guess and accept the correct label
␈↓ ↓H␈↓from  the  user.   In  all  three  cases,  it  must update its set of
␈↓ ↓H␈↓plausible rules to be at  least  consistent  with  all  positive  and
␈↓ ↓H␈↓negative  instances  observed. In some versions of GI the user coaxes
␈↓ ↓H␈↓PUP6 to generate, a parse tree may be maintained  and  inspected;  in
␈↓ ↓H␈↓other versions, just a list of the rules used during a parse is kept.
␈↓ ↓H␈↓        INF is a data-retrieval-on-keys system.
␈↓ ↓H␈↓The user repeatedly types
␈↓ ↓H␈↓in a request to insert, delete, or inspect a  record  (e.g.,  INSERT:
␈↓ ↓H␈↓PASSENGER  Jones  FLIGHT  741  FROM SFO TO LAX CARRIER TWA LEAVE 7:15
␈↓ ↓H␈↓ARRIVE 8:00).  Any unspecified fields are treated  as  dont't  cares;
␈↓ ↓H␈↓thus the request is matched against entries in the data base.
␈↓ ↓H␈↓        The table below shows how each type of knowledge was used  in
␈↓ ↓H␈↓writing the three target programs.  All numbers refer to BEINGs.


␈↓ ↓H␈↓ε␈α?␈α?␈α?␈α&                ␈↓βU S E D   I N   S Y N T H E S I Z I N G␈↓ε

␈↓ ↓H␈↓εTYPE OF        CF    CF    CF    CF     GI    INF     not     Crea    Crea    Crea    Total
␈↓ ↓H␈↓εKNOWLEDGE      GI    GI   INF   only   only   only    used    -ted    -ted    -ted    BEINGs
␈↓ ↓H␈↓ε              INF   only   only                       ever    in CF   in GI   in INF

␈↓ ↓H␈↓εProgramming    39     7     5     5     3      1       14       52      27      21      174
␈↓ ↓H␈↓εDomain          0     3     0     9     8      1        5        4      10       3       43
␈↓ ↓H␈↓εTotal          39    10     5    14    11      2       19       56      37      24      217


␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 22␈↓ 	/REALITY:  RESULTS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓The high percentage of programming BEINGs  which  were  used  in  all
␈↓ ↓H␈↓three  dialogues  is exciting.  The three domain-specific BEINGs used
␈↓ ↓H␈↓in both CF and GI  sessions  indicate  that  they  may  be  Inductive
␈↓ ↓H␈↓Inference  domain specific.  They aren't used in INF, which is not an
␈↓ ↓H␈↓inductive inference task. All three deal with partitioning a domain.
␈↓ ↓H␈↓        A  specialization of a general programming BEING is listed as
␈↓ ↓H␈↓a programming BEING still  (in  the  CREATED  columns  of  the  above
␈↓ ↓H␈↓table.)  This  is  because  it remains sufficiently independent to be
␈↓ ↓H␈↓used in many ways, conceivably in many different programs.
␈↓ ↓H␈↓        The  style  of  the synthesized programs is constrained since
␈↓ ↓H␈↓all code must be BEINGs. At a lower level,  there  are  many  trivial
␈↓ ↓H␈↓inefficiencies which are passed through a BEING which is to optimize
␈↓ ↓H␈↓LISP programs out of context, at a low level.  This BEING is
␈↓ ↓H␈↓vacuous now, but may soon contain a LISP optimizer being  written  by
␈↓ ↓H␈↓A.  Cohn of the SAIL AP group. Low level efficiency was intentionally
␈↓ ↓H␈↓ignored to expedite work  on  PUP6.   Nevertheless,  the  final  code
␈↓ ↓H␈↓produced  runs  in  about  the  same  time as the hand-coded versions
␈↓ ↓H␈↓(e.g., a few seconds per scene for CF).  It is several times as long,
␈↓ ↓H␈↓though,  since  it  must  be able to answer questions about what it's
␈↓ ↓H␈↓doing as it runs.  The  protocol  version  lacked  this  ability,  of
␈↓ ↓H␈↓course.
␈↓ ↓H␈↓        One  crude  measure  of  concentration  of intelligence is to
␈↓ ↓H␈↓compare the system  and  target  code  lengths.  Ephemeral  numerical
␈↓ ↓H␈↓efficiency  data  such  as  this follows. PUP6 is 200 pages long when
␈↓ ↓H␈↓PRETTY-PRINTED, and has synthesized three programs, 7, 20, and 30
␈↓ ↓H␈↓pages long (1, 4, and 6 pages, when coded by hand.)
␈↓ ↓H␈↓        A  brute  force  AP  system  would  require  a  time  roughly
␈↓ ↓H␈↓exponential  in  target  length, so log(time)/target_length (measured
␈↓ ↓H␈↓over several different programs and over several AP  systems)  is  an
␈↓ ↓H␈↓indicator  of  the  intelligence of an AP system.  For a good system,
␈↓ ↓H␈↓this number should (i) be small absolutely,  and,  more  importantly,
␈↓ ↓H␈↓(ii)  decrease  significantly as the target program length increases.
␈↓ ↓H␈↓For a ␈↓βvery␈↓ good program writer, the  quantity  time/target_length
␈↓ ↓H␈↓stays   almost  constant.   This  is  not  quite  achieved  by  human
␈↓ ↓H␈↓programmers known to the author.
␈↓ ↓H␈↓        PUP6  takes  60  cpu minutes to produce CF. During this time,
␈↓ ↓H␈↓50000 characters get typed out to the user, who  reponds  with  about
␈↓ ↓H␈↓2500  himself. The dialogue lengths are best specified in characters,
␈↓ ↓H␈↓since often the user will supply simply a number or  a  letter  or  a
␈↓ ↓H␈↓YES/NO  reply.   Dividing  these by a hundred, one can relate them to
␈↓ ↓H␈↓target and system lengths in lines. Even  the  character  counts  are
␈↓ ↓H␈↓very  rough,  because  the  format  of  the AP dialogue can easily be
␈↓ ↓H␈↓varied by a couple orders of magnitude.  The mean wait time  (between
␈↓ ↓H␈↓the user's input and the next machine output) is several seconds. The
␈↓ ↓H␈↓longest delay  between  successive  user  inputs  is  1  CPU  minute.
␈↓ ↓H␈↓Unfortunately,  PUP6  requires 100K to run in, which (with INTERLISP)
␈↓ ↓H␈↓exhausts the virtual memory of the current hardware being  used.  One
␈↓ ↓H␈↓would lose vast amounts of time by using intermediate storage devices

␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 23␈↓ 	/REALITY:  RESULTS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓or by running consecutive communicating jobs.
␈↓ ↓H␈↓        INF  was  one fifth the size of CF, and took about a seventh
␈↓ ↓H␈↓as long to generate. The dialogue was shorter by a factor of three.
␈↓ ↓H␈↓        Most  of  the  theoretical questions are answered by the very
␈↓ ↓H␈↓design of the system. Its ideational foundation has  been  discussed.
␈↓ ↓H␈↓When  the  user  sticks close to the original protocol, PUP6 asks the
␈↓ ↓H␈↓right questions at the right times because of its genesis  from  that
␈↓ ↓H␈↓annotated  protocol.   The  second  and third programs were attempted
␈↓ ↓H␈↓only to test its flexibility, and the results were mixed.
␈↓ ↓H␈↓        First  the bright side. The increment to PUP6 to enable it to
␈↓ ↓H␈↓write the GI and the INF programs is encouragingly small. Almost  all
␈↓ ↓H␈↓the  programming-knowledge BEINGs are called in writing more than one
␈↓ ↓H␈↓of the programs. It is now clear  that  very  domain-specific  BEINGs
␈↓ ↓H␈↓were in control at the early, high levels. Later, more general BEINGs
␈↓ ↓H␈↓took over, followed by pure programming BEINGs.  The middle  category
␈↓ ↓H␈↓would  include II BEINGs like PARTITION_A_DOMAIN.
␈↓ ↓H␈↓        Regrettably, incrementing the system with new domain-specific
␈↓ ↓H␈↓BEINGs is not feasable for the average user.  To add a BEING, he must
␈↓ ↓H␈↓specify  all  of  its relevant parts. Each is inputted either as LISP
␈↓ ↓H␈↓code, as an English sentence PUP6  is  capable  of  interpreting,  an
␈↓ ↓H␈↓English  sentence  PUP6  is  just  supposed  to  remember as a canned
␈↓ ↓H␈↓response, or by pointing to a part of an existing  BEING  and  saying
␈↓ ↓H␈↓"like  that  one,  except  ...", where the preceding ellipsis must be
␈↓ ↓H␈↓very simple.  The interactions between the BEINGs, and  the  existing
␈↓ ↓H␈↓set of BEINGs, need not be fully understood; but the set of allowable
␈↓ ↓H␈↓assertion templates, the mechanisms by which each part is  used,  the
␈↓ ↓H␈↓special  data types involved (VECTOR, TUPLE), and the precise actions
␈↓ ↓H␈↓of each new part ␈↓βmust␈↓ be known in order to safely  inject  a  new
␈↓ ↓H␈↓BEING.




















␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 24␈↓ 	/REALITY:  RESULTS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓␈↓↓8. THEORY:  CONCLUSIONS␈↓
␈↓ ↓H␈↓        The strengths and weaknesses of both BEINGs and PUP6 are
␈↓ ↓H␈↓reviewed.
␈↓ ↓H␈↓This experiment has helped clarify some
␈↓ ↓H␈↓of the potential problems facing
␈↓ ↓H␈↓future AP work.
␈↓ ↓H␈↓        While the number of  BEING-parts  is
␈↓ ↓H␈↓unimportant,  its magnitude (a few tens) may have significance to AP.
␈↓ ↓H␈↓The fact that is isn't ~3 explains the  difficulty  that  ACTORS  and
␈↓ ↓H␈↓cyberneticists  have;  the fact that it isn't ~1000 means that the AP
␈↓ ↓H␈↓problem is tractible.
␈↓ ↓H␈↓        Some of the ideas discussed at the  beginning  of  the  paper
␈↓ ↓H␈↓have proven themselves to be useful in getting PUP6 to work.
␈↓ ↓H␈↓Little programs
␈↓ ↓H␈↓can indeed be treated as if their essence  is  nothing  more  than  a
␈↓ ↓H␈↓collection  of  answers.   The  gain  from  standardization  is
␈↓ ↓H␈↓conceptually easy
␈↓ ↓H␈↓addition of pieces to the system; one "merely" adds new BEINGs to the
␈↓ ↓H␈↓community. Their interactions with all the existing BEINGs needn't be
␈↓ ↓H␈↓known in advance. As was discussed in the previous section, the
␈↓ ↓H␈↓actual addition is beyond the power of the untrained user.
␈↓ ↓H␈↓        Indications   are  that  one  ␈↓βcan␈↓  locate  relevant
␈↓ ↓H␈↓information by organizing the knowledge in a pool,  with  each  piece
␈↓ ↓H␈↓(i)  responsible  for  recognizing  when  it  is  relevant  and  (ii)
␈↓ ↓H␈↓indicating new relevant information indirectly  via  nondeterministic
␈↓ ↓H␈↓pattern-directed  retrievals  and  assertions.  Notice that this puts
␈↓ ↓H␈↓all control structure into the hands  of  the  BEINGs;  there  is  no
␈↓ ↓H␈↓central  monitor  in  PUP6.   A  BEING's answers may at various times
␈↓ ↓H␈↓indicate that it should be chosen to be in control, and it will  then
␈↓ ↓H␈↓take  over.   Notice  also  that this relevancy problem is central to
␈↓ ↓H␈↓program maintenance as well as synthesis. It is not clear whether
␈↓ ↓H␈↓or not this really beats the exponential growth of this problem.
␈↓ ↓H␈↓        The  fact  that target code is in the format of BEINGs limits
␈↓ ↓H␈↓the size of the target programs (≥ one page) and their efficiency  (a
␈↓ ↓H␈↓BEING-call  is a very slow and intricate process) and of course their
␈↓ ↓H␈↓style. The most startling result -- which should have been forseen --
␈↓ ↓H␈↓was that "intelligent" target code is synthesized. This was mentioned
␈↓ ↓H␈↓casually in the IDEAS section, but its importance is clear: the  code
␈↓ ↓H␈↓is  self-commenting  in the strong sense that the code can answer any
␈↓ ↓H␈↓(of our set of 29) questions about itself.  Those which make sense at
␈↓ ↓H␈↓compile-time  can  be  asked  then;  those  which  make  sense during
␈↓ ↓H␈↓execution may be asked then.  For example, CF begins  running.  After
␈↓ ↓H␈↓several  scenes have been processed, CF is waiting for a new one.  If
␈↓ ↓H␈↓the user interrupts  and  asks  what  it  is  doing,  CF  will  reply
␈↓ ↓H␈↓"awaiting user input of a brand new scene." One can ask why, how, who
␈↓ ↓H␈↓will be affected, and so on, interrupt as frequently  as  desired  --
␈↓ ↓H␈↓even  after  each  BEING  transfers control. The actual questions and
␈↓ ↓H␈↓responses are not very impressive, but they are at least at the  same

␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 25␈↓ λ⎇THEORY:  CONCLUSIONS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓level as those which can be gotten from PUP6 itself as it runs.
␈↓ ↓H␈↓        The set of questions the user was expected to want to ask the
␈↓ ↓H␈↓system  is  similar  to the questions one BEING wants to ask another.
␈↓ ↓H␈↓So when the "nice" user interrupts, his questions are almost always a
␈↓ ↓H␈↓simple  retrieval  from a property list (a GETP or a composition like
␈↓ ↓H␈↓EVAL␈GETP). When the average  user  interrupts,  his  questions  are
␈↓ ↓H␈↓often unintelligible to PUP6.
␈↓ ↓H␈↓        Meaningful use of comments proved helpful. As an example, the
␈↓ ↓H␈↓comment at the end of the main outer loop was "COMMENT, INFINITE LOOP
␈↓ ↓H␈↓IN THIS PROG" (see page A5.10) for most of the session. Near the  end
␈↓ ↓H␈↓of  the  session,  the  CLARIFY_IMPROBABLE_SITUATION BEING recognizes
␈↓ ↓H␈↓this as a warning, works on introducing a breakaway  test,  and  then
␈↓ ↓H␈↓replaces  the  comment by one indicating that no infinite loop exists
␈↓ ↓H␈↓there anymore (see  page  A4.4).   The  advantage  to  embedding  our
␈↓ ↓H␈↓insertions in the code this way is that, at any stage, the user could
␈↓ ↓H␈↓inspect the code and get something meaningful  out  of  the  comments
␈↓ ↓H␈↓which were present.
␈↓ ↓H␈↓        The  careful  bookkeeping   actually   did   eliminate   some
␈↓ ↓H␈↓carelessness  errors, though it had no effect on user errors or later
␈↓ ↓H␈↓program maintenance  directives.  These  latter  processes  are  less
␈↓ ↓H␈↓ill-defined  than  blind debugging, and in fact are about the same as
␈↓ ↓H␈↓programming itself [Dijkstra].  The deferral  of  decisions  has  the
␈↓ ↓H␈↓nice corollary of reducing (though not minimizing) communication with
␈↓ ↓H␈↓the slow user channel.
␈↓ ↓H␈↓        Synthesizing a new,
␈↓ ↓H␈↓clean target program  probably  would  require
␈↓ ↓H␈↓adding  a  few domain-independent BEINGs and several domain-specific
␈↓ ↓H␈↓BEINGs, and generalizing several parts of  several  existing  BEINGs.
␈↓ ↓H␈↓Since  the  dialogues  for  GI  and INF were not studied before-hand,
␈↓ ↓H␈↓their acceptability  would  have  demonstrated  the  success  of  the
␈↓ ↓H␈↓system.  Most of the existing BEINGs were used in generating these
␈↓ ↓H␈↓new programs, but a few new BEINGs had to be added. Equally
␈↓ ↓H␈↓discouraging, the dialogue to write INF is too long and detailed
␈↓ ↓H␈↓for the task at hand.  It also  seems  that  the  front  end  is  too
␈↓ ↓H␈↓brittle  to  allow  anyone  unfamiliar with the system to easily work
␈↓ ↓H␈↓with it.
␈↓ ↓H␈↓        The   need   for  natural  language  flexibility  stems  only
␈↓ ↓H␈↓partially from inter-user  differences.   A  serious  and  unexpected
␈↓ ↓H␈↓source  of  conflict  here  is the amount of inference the user wants
␈↓ ↓H␈↓done.  This level is relatively subjective, and may fluctuate rapidly
␈↓ ↓H␈↓even  with  one  user  writing one program. Perhaps there should be a
␈↓ ↓H␈↓dial he can set. At one extreme, the system would  ask  the  user  to
␈↓ ↓H␈↓verify  even  the  most  trivial  inductions.  At  the  other extreme
␈↓ ↓H␈↓setting, the system would probably write  the  target  program  after
␈↓ ↓H␈↓just a few brief user inputs. The user would then try out one program
␈↓ ↓H␈↓after another, interjecting just one or two comments each time, after
␈↓ ↓H␈↓which  the  system would come up with the next version.  This program
␈↓ ↓H␈↓modification mode seems appropriate for someone ignorant of LISP, who

␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 26␈↓ λ⎇THEORY:  CONCLUSIONS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓nevertheless has the I/O behavior of his target clearly in mind.
␈↓ ↓H␈↓        Some of the BEING parts  proved  embarrassingly  unnecessary.
␈↓ ↓H␈↓The  CO-REQUISITES  part was never used.  The only activity which had
␈↓ ↓H␈↓to be done concurrently was demon activation. The AFFECTS part was of
␈↓ ↓H␈↓interest  to  the  user  occasionally,  but  never to any BEING.  The
␈↓ ↓H␈↓EFFECTS part originally had a twin, describing what would  happen  if
␈↓ ↓H␈↓each  BEING  were  ␈↓βnot␈↓  called right now.  In each case, this was
␈↓ ↓H␈↓merely a trivial restatement of the frame problem.  So,  like  STRIPS
␈↓ ↓H␈↓[Fikes],  PUP6  ignores  the  frame  problem:     all changes must be
␈↓ ↓H␈↓explicit.
␈↓ ↓H␈↓        Much  of PUP6's comments are boring and unnecessary; this was
␈↓ ↓H␈↓felt to be an engineering problem which would be ignored in all but a
␈↓ ↓H␈↓"marketable"  AP system. This view was probably incorrect. One of the
␈↓ ↓H␈↓most severe AP problems is having  the  system  inform  the  user  of
␈↓ ↓H␈↓precisely  what  he should know -- no more nor less.  This requires a
␈↓ ↓H␈↓sophisticated  user  model  cleverly  interfaced   to   the   current
␈↓ ↓H␈↓programming task.
␈↓ ↓H␈↓        Another problem with large, long dialogues is user  error.  A
␈↓ ↓H␈↓human  has  great  difficulty keeping "on top" of everything.  He may
␈↓ ↓H␈↓get lost, forget, change his  mind,  or  misunderstand.  Again,  this
␈↓ ↓H␈↓problem  was originally considered ignorable, but has shown itself to
␈↓ ↓H␈↓be  a  limiting  practical  factor  in  wide  accessability.  It  was
␈↓ ↓H␈↓necessary  to  create  a  forgetful-user  demon  to prevent anaphoric
␈↓ ↓H␈↓reference to something which, though uniquely determined, hadn't been
␈↓ ↓H␈↓mentioned in an hour! Related to this is the problem of keeping
␈↓ ↓H␈↓the user informed of where he is. PUP6 simulated a continuous display
␈↓ ↓H␈↓of  the graph of the current partial program, augmented by static and
␈↓ ↓H␈↓dynamic cursors. This  use  of  dynamic  and  textual  indices  seems
␈↓ ↓H␈↓insufficient.   The  user was still often confused, wishing a section
␈↓ ↓H␈↓referred to not by pointing but rather by a brief, meaningful (to him
␈↓ ↓H␈↓only!)  phrase.   This may also be one of the major AP problems which
␈↓ ↓H␈↓must be studied further.
␈↓ ↓H␈↓        These  worries  about large dialogues arise because future AP
␈↓ ↓H␈↓systems are viewed as tools for writing programs which humans  simply
␈↓ ↓H␈↓cannot  manage  currently:      viable natural language systems, huge
␈↓ ↓H␈↓operating systems, better AP systems.
␈↓ ↓H␈↓        McCune  calls attention to an argument against ever needing a
␈↓ ↓H␈↓system whose target programs will be longer and more complex than the
␈↓ ↓H␈↓system  itself.  First,  empirically, optimizing compilers are viable
␈↓ ↓H␈↓and yet they dwarf almost all the code they generate.  Second, as the
␈↓ ↓H␈↓complexity  of the transformation increases, the length of a compiler
␈↓ ↓H␈↓increases rapidly.  For a truly intelligent AP system, one  might  be
␈↓ ↓H␈↓willing  to  tolerate a program several times as large as anything it
␈↓ ↓H␈↓could produce.
␈↓ ↓H␈↓        An  argument  exists  to  counter this one.  First, one might
␈↓ ↓H␈↓object to drawing  an  analogy  from  compilers;  many  entities  are
␈↓ ↓H␈↓capable  of  producing  things  more  sophistocated  than themselves,
␈↓ ↓H␈↓larger than themselves, etc. (consider evolution). Second,  it  seems

␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 27␈↓ λ⎇THEORY:  CONCLUSIONS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓that there is a manageable body of information which one needs master
␈↓ ↓H␈↓to do programming [Informal].  Viewed differently [Dijkstra], one can
␈↓ ↓H␈↓write  programs  as long as he wishes if the program is designed in a
␈↓ ↓H␈↓clean way. Thus the size of AP systems will probably
␈↓ ↓H␈↓level  off  (albeit  huge
␈↓ ↓H␈↓compared  to  existing  programs)  even as the size and complexity of
␈↓ ↓H␈↓their generated code continues to increase and,  eventually,  surpass
␈↓ ↓H␈↓them.  Finally,  we  must  consider why we want a good AP system:  to
␈↓ ↓H␈↓help  us  write  large  programs  easily,  programs  which  might  be
␈↓ ↓H␈↓unmanageable  today.   For  this  reason alone, our AP system must be
␈↓ ↓H␈↓able to deal with programs larger than itself.
␈↓ ↓H␈↓        The whole design of BEINGs  is
␈↓ ↓H␈↓oriented   toward  this  large-scale  end.  One  cannot  write  tiny,
␈↓ ↓H␈↓super-efficient programs using BEINGs, any more  naturally  than  one
␈↓ ↓H␈↓can  generate  efficient machine code using a high level language.
␈↓ ↓H␈↓A BEINGs system might simulate this activity, but it would be as
␈↓ ↓H␈↓awkward and opaque as if they were asked to simulate volleyball. By
␈↓ ↓H␈↓relinquishing  more  and  more  control  to  the  computer   language
␈↓ ↓H␈↓environment,  the  programmer  sacrifices specialization of the final
␈↓ ↓H␈↓code for ease of  constructing  it  and  for  its  greater  size  and
␈↓ ↓H␈↓complexity.




























␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 28␈↓ λ⎇THEORY:  CONCLUSIONS
␈↓ ↓H␈↓␈↓αBEINGS␈↓␈↓ 	U␈↓βDoug Lenat␈↓


␈↓ ↓H␈↓␈↓↓9. ACKNOWLEDGEMENTS␈↓

␈↓ ↓H␈↓        There  are,  of  course,  countless  ideas  embodied  in  any
␈↓ ↓H␈↓concrete project.  Sweeping philosophical assumptions are made simply
␈↓ ↓H␈↓in   trying   to   do   Automatic   Programming    [McCarthy].    Any
␈↓ ↓H␈↓Program-Understanding  Program  should  include the best parts of all
␈↓ ↓H␈↓the best old ideas.  PUP6 relies  on  concepts  gleaned  from  Actors
␈↓ ↓H␈↓[Hewitt],   Demons   [Charniak],   heterarchy   [Reddy],   structured
␈↓ ↓H␈↓programming [Dijkstra], assertional  data  bases  and  flexible  data
␈↓ ↓H␈↓types  [Reboh],  pattern-directed  invocation of procedural knowledge
␈↓ ↓H␈↓[Winograd], the paradigm of dialogue [Floyd], and studies on  program
␈↓ ↓H␈↓specification techniques [Green].  Of course this list is incomplete;
␈↓ ↓H␈↓sophisticated ideas are captured in the languages themselves:   QLISP
␈↓ ↓H␈↓[Reboh],   INTERLISP   [Teitelman],  LISP  [McCarthy2],  and  English
␈↓ ↓H␈↓[Anonymous]. To this rich store, one may achieve new  heights  merely
␈↓ ↓H␈↓by synergy.
␈↓ ↓H␈↓        Any success of the BEINGs project, as well as  the  precursor
␈↓ ↓H␈↓PUP  programs  [Green]  is due in large measure to the
␈↓ ↓H␈↓creative energy of C.  Cordell  Green.   I  have
␈↓ ↓H␈↓also  drawn  upon  discussions  with
␈↓ ↓H␈↓D. Barstow, B.  McCune,  D.   Shaw,  E.
␈↓ ↓H␈↓Sacerdoti, L.
␈↓ ↓H␈↓Steinberg,  and  R.  Waldinger.   The generosity of SRI, in providing
␈↓ ↓H␈↓computer time and language consultations, should not go unmentioned.
␈↓ ↓H␈↓Also valuable were the critical readings of this paper by R. Davis
␈↓ ↓H␈↓and T. Winograd.























␈↓ ↓H␈↓␈↓∧Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α→page 29␈↓ 
h